線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4000
推到 Plurk!
推到 Facebook!

如何取得目前Excel的Sheets名稱呢??

尚未結案
rich777
一般會員


發表:25
回覆:25
積分:10
註冊:2002-04-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-30 16:04:04 IP:139.175.xxx.xxx 未訂閱
請問各位先進高手們,如何取得目前Excel的Sheets名稱呢?? 程式碼既略如下: var MsExcel,MsExcelWorkBook, MsExcelWorkSheet: Variant; MsExcel := CreateOleObject('Excel.Application'); MsExcelWorkBook := MsExcel.WorkBooks.Add; MsExcelWorkSheet := MsExcel.WorkSheets.Add; 雖然一般的Excel開新檔時預設值是開三個shellt而 MsExcelWorkSheet := MsExcel.WorkSheets.Add; 會再新曾一個Shellt所以一般來說會是第4個... 但若今天要以程式自動取得該如何做呢? 在本站有找到用下列方式可以取得,但測試時Delphi卻說沒有items的方法? MsExcel.WorkBooks[1].Sheets.Items[1].Name 改成如此說找不到name的方法? MsExcel.WorkBooks[1].Sheets.Name 另一個問題是如何以動態的方式設定目前工作表的名稱? TsCaping:為變數 MsExcel.WorkSheets['Sheet1'].Select; MsExcel.WorkSheets['Sheet1'].Name := TsCaping; MsExcelWorkSheet := MsExcel.WorkSheets['TsCaping']; <=本行會出現錯誤訊息~~~ 好像''內字串都無法以變數的方式置換耶? 請問要如何才能做到將以''內的資料可以以變數運行吶? 煩請各位先進高手們解惑~~~ 我的工作環境為Win98SE Delphi3 Office97
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-30 16:32:21 IP:218.163.xxx.xxx 未訂閱
引言: 請問各位先進高手們,如何取得目前Excel的Sheets名稱呢?? 程式碼既略如下: var MsExcel,MsExcelWorkBook, MsExcelWorkSheet: Variant; MsExcel := CreateOleObject('Excel.Application'); MsExcelWorkBook := MsExcel.WorkBooks.Add; MsExcelWorkSheet := MsExcel.WorkSheets.Add; 雖然一般的Excel開新檔時預設值是開三個shellt而 MsExcelWorkSheet := MsExcel.WorkSheets.Add; 會再新曾一個Shellt所以一般來說會是第4個... 但若今天要以程式自動取得該如何做呢? 在本站有找到用下列方式可以取得,但測試時Delphi卻說沒有items的方法? MsExcel.WorkBooks[1].Sheets.Items[1].Name 改成如此說找不到name的方法? MsExcel.WorkBooks[1].Sheets.Name 另一個問題是如何以動態的方式設定目前工作表的名稱? TsCaping:為變數 MsExcel.WorkSheets['Sheet1'].Select; MsExcel.WorkSheets['Sheet1'].Name := TsCaping; MsExcelWorkSheet := MsExcel.WorkSheets['TsCaping']; <=本行會出現錯誤訊息~~~ 好像''內字串都無法以變數的方式置換耶? 請問要如何才能做到將以''內的資料可以以變數運行吶? 煩請各位先進高手們解惑~~~ 我的工作環境為Win98SE Delphi3 Office97
 
1.MyExcel.WorkBooks[1].WorkSheets.item[1].name    2.  MyExcel.WorkBooks[1].WorkSheets[1].name:='test';
    showmessage(MyExcel.WorkBooks[1].WorkSheets['test'].name); 
以上在excel2000,delphi6測試ok < >< > 永遠追不上技術更新的速度~~< src="http://140.134.4.20/~g8905202/pucca.gif">
------
星期一,二...無窮迴圈@@
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-30 21:14:49 IP:61.221.xxx.xxx 未訂閱
請問各位先進高手們,如何取得目前Excel的Sheets名稱呢?? 如 pgdennis 兄的方法 雖然一般的Excel開新檔時預設值是開三個shellt而 MsExcelWorkSheet := MsExcel.WorkSheets.Add; 會再新曾一個Shellt所以一般來說會是第4個... 但若今天要以程式自動取得該如何做呢? MsExcelWorkSheet 就是新增的這一個 worksheet !! 在本站有找到用下列方式可以取得,但測試時Delphi卻說沒有items的方法? MsExcel.WorkBooks[1].Sheets.Items[1].Name 改成如此說找不到name的方法? MsExcel.WorkBooks[1].Sheets.Name 可以用 MsExcel.WorkBooks[1].Sheets[1].Name 或是 MsExcel.WorkBooks[1].WorkSheets[1].Name 都可以, Sheets 是該 workbook 的所有 worksheet 哦~ 另一個問題是如何以動態的方式設定目前工作表的名稱? TsCaping:為變數 MsExcel.WorkSheets['Sheet1'].Select; MsExcel.WorkSheets['Sheet1'].Name := TsCaping; MsExcelWorkSheet := MsExcel.WorkSheets['TsCaping']; <=本行會出現錯誤訊息~~~ 可以不用 MsExcel.WorkSheets['Sheet1'].Select; 一樣可以修改 worksheet 的 name! TsCaping 是變數, 所以應該用 MsExcelWorkSheet := MsExcel.WorkSheets[TsCaping]; 來進行取得該 worksheet ! 而不需要將 TsCaping 用單引號包住哦
系統時間:2024-05-20 10:31:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!