П'ятниця, 29 травня 2020
  1 відповіді
  8 тис. Відвідувань
0
Голосів
розстібати
Привіт, Френдс,
Шукаю рішення де
  1. Вибір файлу можна зробити від користувача.[/*]
  2. На основі вибраного файлу можна виконати подальші дії щодо цього конкретного файлу.[/*]
  3. Відповідно до моєї вимоги я спробував написати код, але коли файл відкривається, макрос не виконується. Будь ласка, знайдіть код нижче.[/*]
Sub FileCreation()
Dim FolderPath як рядок
Dim ім'я файлу як варіант
Dim openbook як робочий зошит
Dim file_name як варіант
Dim bFileSaveAs As Boolean

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