簡體   English   中英

使用 VBA 從另一個程序運行 Excel

[英]Running Excel using VBA from another program

我在 CAD 程序中使用 vba 來導出數據、對數據進行排序和添加數據。 下面的宏正是我想要 excel 做的。 但是我相信我僅限於讓 CAD 程序通過 VBA 告訴 Excel 做什么。 此宏復制一個公式並將其粘貼到列中它下方的所有填充單元格中。

宏代碼:

Range("B1").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste

代碼的 iLogic 版本:

oBook.WorkSheets(1).Name = "Order List"
oBook.WorkSheets(2).Name = "Cut List"
wSheet1 = oBook.WorkSheets("Order List")
wSheet2 = oBook.WorkSheets("Cut List")

wSheet2.Activate
wSheet2.Range("B1").Select
wSheet2.Selection.Copy
wSheet2.Range(Selection, Selection.End(xlDown)).Select
wSheet2.Selection.Paste

不幸的是,我似乎缺少在 Inventor 和 Excel 之間進行翻譯的內容,但我什至不知道這是否是問題所在。 非常感謝任何建議,因為我對 VBA 還是很陌生。

好的。 我有一些從論壇上復制的代碼,但不了解正在運行的功能。 我相信這就是您所說的“應用程序”?

wSheet2.Columns("G:G").select()
oExcelApp.Selection.cut()
wSheet2.Columns("B:B").Select()
oExcelApp.Selection.Insert(Microsoft.Office.Interop.Excel.XlDirection.xlToRight)

雖然我不明白“(Microsoft.Office.Interop.Excel.XlDirection.xlToRight)”指的是什么。 我了解有關方向及其插入位置的部分,而不是它之前的內容。

我同意@DisGruntledDraftsman 關於不使用 Select 和激活的觀點。 但是,如果您只是想獲得一些可以完成工作的工作代碼,則可以進行一些簡單的調整。 當然,這並不理想,但它應該可以工作。

row_Count = wSheet2.Range("B1048576").End(xlUp).Row
wSheet2.Activate
wSheet2.Range("B1").Select
Selection.AutoFill Destination:=wSheet2.Range("B1:B" & row_Count), Type:=xlFillDefault

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM