首先,如果我要把Excel工作表的D欄刪除,在Excel VBA是這樣寫的:
Sub Macro2() Columns("D:D").Select Selection.Delete Shift:=xlToLeft End Sub
找找找,怎麼找都是顯示ComObj的處理,沒有人用Delphi內建的元件
剛好我偏偏使用了:
Microsoft Office XP Sample Automation Server Wrapper Components
這套元件組……
沒有第二句話,就是難!
其中試了一些方法:
Worksheet.Columns(9).Delete(xlToLeft);…別鬧了,編譯過不去的!
ExcelApplication1.ActiveSheet.Columns[1].Delete;這是 Office 2000 Server 組的用法,Office XP不能使用……Orz
在這邊卡超久的!
Worksheet.Range['I', 'I'].Columns.Delete(xlToLeft);…出現了「OLE error 800A03EC」控制錯誤的訊息…
總之,真的是見鬼的難!
後來試了很久,總算是找到可以正常使用的函式……
// 本文轉載自愛抱怨本鋪. Eden的雜念溜 WorkSheet.Range['G1','G1'].EntireColumn.Delete(xlToLeft);
呼…終於可以用了…
不過如何使用數字來選取…這個還在摸索中…
暫時也只能先這樣囉~~~~~
為了OO和強型別檢查…一定要這麼委曲就是了…Orz
誰來拉我一把啊~~~~~ > <||| |
沒有留言:
張貼留言