Я пытаюсь автоматизировать совокупность данных на некоторых листах excel, которые имеют некоторые макросы. Теперь excel защищен, и я не могу получить секретный ключ. Теперь я могу запускать макросы, но когда я пытаюсь передать аргументы, я получаю несоответствие аргументов.
Если я просто запускаю макрос с именем, я получаю inputbox
, который принимает дополнительный аргумент в качестве входных данных и автоматически генерирует некоторые значения для столбцов. Мне нужно вручную ввести это значение в inputbox
. Есть ли способ, которым я мог бы автоматизировать этот процесс, например, захватить входной пакет, созданный макросом в vb.net script, и ввести значения оттуда? то есть я хотел бы запустить макрос, и после того, как я получу всплывающее окно с просьбой ввести какое-то значение, используйте код vb.net для ввода значения этого всплывающего окна.
Вот что я до сих пор
Public Class Form1
Dim excelApp As New Excel.Application
Dim excelWorkbook As Excel.Workbook
Dim excelWorkSheet As Excel.Worksheet
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
excelWorkbook = excelApp.Workbooks.Open("D:/excelSheets/plan_management_data_templates_network.xls")
excelApp.Visible = True
excelWorkSheet = excelWorkbook.Sheets("Networks")
With excelWorkSheet
.Range("B7").Value = "AR"
End With
excelApp.Run("createNetworks")
// now here I would like to enter the value into the createNetworks Popup box
excelApp.Quit()
releaseObject(excelApp)
releaseObject(excelWorkbook)
End Sub
Определение макроса
createNetworks()
//does so basic comparisons on existing populated fields
//if true prompts an inputbox and waits for user input.
Это также остановит мой vb.net script, чтобы перейти к следующей строке.