Пятница, 29 мая 2020
  1 Ответы
  8 тыс. Посещений
Привет Фрндс,
Я ищу решение, где
  1. Выбор файла может быть сделан пользователем.[/*]
  2. В зависимости от выбранного файла дальнейшие действия могут быть выполнены с этим конкретным файлом.[/*]
  3. Основываясь на моем требовании, я попытался написать код, но когда файл открывается, макрос не выполняется после этого. Ниже приведен код.[/*]
Создание подфайла()
Dim FolderPath как строка
Dim имя файла как вариант
Затемнить открытую книгу как рабочую книгу
Dim file_name В качестве варианта
Dim bFileSaveAs как логическое значение

Приложение.ScreenUpdating = False
Имя файла = Application.GetOpenFilename(Title:="Выберите шаблон конфигурации")
Если Имя файла <> Ложь Тогда
Установить openbook = Application.Workbooks.Open(имя файла)
ThisWorkbook.Активировать
openbook.Worksheets("Мастер пользователей").Активировать
Если Диапазон("C6") <> "" Тогда
ActiveSheet.Range("B6:T").Копировать
Workbooks.Add
Рабочие листы («Мастер пользователей»). Добавить
Диапазон ("A1"). Выбрать
ActiveSheet.Paste
Еще
Диапазон("A1:XFD1048576").Выбрать
Selection.Copy
Workbooks.Add
Рабочие листы («Мастер пользователей»). Добавить
Диапазон ("A1"). Выбрать
ActiveSheet.Paste
End If
bFileSaveAs = Application.Dialogs(xlDialogSaveAs).Show
    Если не bFileSaveAs, то MsgBox «Пользователь отменен», vbCritical
ActiveWorkbook.Close
Рабочие листы ("Сообщество"). Активировать
Диапазон("A1:G1").Выбрать
Диапазон (Выделение, Выбор. Конец (xlDown)). Копировать
Workbooks.Add
ActiveSheet.Paste
bFileSaveAs = Application.Dialogs(xlDialogSaveAs).Show
    Если не bFileSaveAs, то MsgBox «Пользователь отменен», vbCritical
ActiveWorkbook.Close
Рабочие листы ("веб-установщик"). Активировать
Диапазон("A1:ZZ1").Выбрать
Диапазон (Выделение, Выбор. Конец (xlDown)). Копировать
Workbooks.Add
Рабочие листы("Пригласить пользователей").Добавить
Диапазон ("A1"). Выбрать
ActiveSheet.Paste
bFileSaveAs = Application.Dialogs(xlDialogSaveAs).Show
    Если не bFileSaveAs, то MsgBox «Пользователь отменен», vbCritical
ActiveWorkbook.Close
Еще
MsgBox "Пользователь отменил операцию"
End If
End Sub
3 лет назад
·
#2147
Вы легко можете это сделать.
Добавьте следующее содержимое в файл VBS (например, example.vbs). Это всего лишь текстовый файл, который вы можете написать с помощью Блокнота:
'Код должен быть помещен в файл .vbs
Установить objExcel = СоздатьОбъект("Excel.Приложение")
objExcel.Application.Run "'C:\path\to\my\excel\file\myExcelMacroFile.xlsm'!MyModule.MyFunctionName"
objExcel.DisplayAlerts = Ложь
objExcel.Application.Quit
Установить objExcel = Ничего
Затем вы можете дважды щелкнуть файл VBS, чтобы выполнить его.
  • Страница:
  • 1
Там нет ответов, сделанные на этот пост пока нет.