全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3153
推到 Plurk!
推到 Facebook!

如何在 BCB 裡用 Ole 控制在幾個已開啟的 excel file 做切換並且寫資料

缺席
bearmaster
一般會員


發表:36
回覆:45
積分:16
註冊:2004-05-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-16 17:35:02 IP:59.124.xxx.xxx 訂閱
請教各位大大,

我現在已能在 BCB 裡開啟或是新增 excel workbook, 並且也能正確的寫資料然後存檔.
但是當我試著要在已開啟的兩個以上的 excel 檔案上寫資料時, 卻不知道該如何寫. 在網站搜尋到的資料幾乎都是 "add" 或是 "open" workbook, 找不到該如何做切換 excel file 的動作.

在某個討論區有看到有人寫著, 其實用 ole 控制 excel 的方式, 可在 excel 裡用"錄製新巨集" 的方式, 將每個操作的動作錄製成 VB 的程式碼. 所以我就將切換 excel file 的動作錄製下來, 如下就是錄製新巨集的 VB code :

[code vb]
Sub Macro1()
'
' Macro1 Macro
'

'
Windows("Book1.xls").Activate
Windows("Book2.xls").Activate
Windows("Book1.xls").Activate
End Sub
[/code]


我試過了一些方式, 但在 BCB 裡還是無法成功....

[code cpp]
Excel=GetActiveOleObject("Excel.Application");
Excel.OlePropertyGet("Windows", StringToOleStr("Book1.xls"); // 無反應, 不會切換到另一個 excel file
Excel.OlePropertyGet("Windows", (Variant)1).OleProcedure("Activate"); // 無反應, 不會切換到另一個 excel file
[/code]


是否能請各位大大提供一些可行方式, 或是能幫忙將上面的 VB code 翻譯成 C code, 謝謝.
系統時間:2017-10-24 13:55:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!