我想在一些有一些宏的Excel表上自動化數據填充。現在,excel已被保護,我無法獲得密鑰。現在我能夠運行宏,但是當我嘗試傳遞參數時,我得到的參數不匹配。將值傳遞給excel輸入框從VB.NET
如果我只是用名稱運行宏,我會得到一個inputbox
,它將一個額外的參數作爲輸入,並自動生成一些列的值。截至目前,我必須手動輸入此值到inputbox
。有沒有什麼辦法可以使這個過程自動化,即捕獲由vb.net腳本中的宏引發的輸入框並輸入這些值?即,我想運行宏,當彈出窗口要求輸入某個值時,請使用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腳本。
'Popup'你的意思是'inputbox'?顯示那部分代碼你調用inputbox/popup ...或者你只是問怎麼用'.Run'方法將參數從'Button4_Click'傳遞給'CreateNetworks'?對不起,但我不確定... – 2013-04-10 10:15:29
好吧,所以我正在嘗試將一個值傳遞給輸入框。這不是一個爭論。 – Shouvik 2013-04-10 10:42:11
在Excel-VBA中是這樣的:'A = Inputbox(「這是提示」,「這是標題」,「這是輸入框的默認值」)? – 2013-04-10 13:19:21