Добрый день! Имею вложенный файл. Задача: при нажатии на кнопку появляется окно выбора файла эксель, данные из которого копируются и вставляются в указанный, уже созданный заранее лист. Как реализовать выбор файла нашел. А как вписать копи паст с указанными ограничениями - не пойму. Т.е. макрос должен открывать диалоговое окно, давать выбор файла, при выборе - копировать его данные в четко установленный лист на документы (во вложении к сообщению). Таким образом у меня будет 3 макроса для выбора, копирования и вставки инвойса, упаковочного и спецификации из выбранных файлов в уже названные листы в имеющемся файле.
Добрый день! Имею вложенный файл. Задача: при нажатии на кнопку появляется окно выбора файла эксель, данные из которого копируются и вставляются в указанный, уже созданный заранее лист. Как реализовать выбор файла нашел. А как вписать копи паст с указанными ограничениями - не пойму. Т.е. макрос должен открывать диалоговое окно, давать выбор файла, при выборе - копировать его данные в четко установленный лист на документы (во вложении к сообщению). Таким образом у меня будет 3 макроса для выбора, копирования и вставки инвойса, упаковочного и спецификации из выбранных файлов в уже названные листы в имеющемся файле.pas240886
pas240886, все 3 кнопки на Ваш макрос AttachFile_test повесила. Для удобства, кнопки переименовала в имена листов. Т.е., кнопка с именем "Инвойс" копирует на лист Инвойс. [vba]
Код
Sub AttachFile_test() ' пример использования Application.ScreenUpdating = False Filename$ = GetFilePath() If Filename$ = "" Then Exit Sub ' MsgBox "Выбран файл: " & Filename$ On Error Resume Next Set sh = ThisWorkbook.Sheets(Application.Caller) If Err <> 0 Then MsgBox "Нет такого листа": Exit Sub On Error GoTo 0 Set openWb = Workbooks.Open(Filename$) sh.UsedRange.Clear openWb.ActiveSheet.UsedRange.Copy sh.[a1] openWb.Close False Application.ScreenUpdating = True End Sub
[/vba]
pas240886, все 3 кнопки на Ваш макрос AttachFile_test повесила. Для удобства, кнопки переименовала в имена листов. Т.е., кнопка с именем "Инвойс" копирует на лист Инвойс. [vba]
Код
Sub AttachFile_test() ' пример использования Application.ScreenUpdating = False Filename$ = GetFilePath() If Filename$ = "" Then Exit Sub ' MsgBox "Выбран файл: " & Filename$ On Error Resume Next Set sh = ThisWorkbook.Sheets(Application.Caller) If Err <> 0 Then MsgBox "Нет такого листа": Exit Sub On Error GoTo 0 Set openWb = Workbooks.Open(Filename$) sh.UsedRange.Clear openWb.ActiveSheet.UsedRange.Copy sh.[a1] openWb.Close False Application.ScreenUpdating = True End Sub
Manyasha, супер. Спасибо! Вопрос - по-тихоньку изучаю VBA, ваша процедура написана полностью на VBA или использует синтаксис других языков? Пардон за ссылку, но в центре специалист при Бауманском, ничему подобному не учат =(((
Manyasha, супер. Спасибо! Вопрос - по-тихоньку изучаю VBA, ваша процедура написана полностью на VBA или использует синтаксис других языков? Пардон за ссылку, но в центре специалист при Бауманском, ничему подобному не учат =(((pas240886