上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
elson
註冊時間: 2004-05-16 文章: 10
第 1 樓
|
發表於: 星期一 十二月 15, 2008 4:19 pm 文章主題: 如何控制已開啟的Excel ? |
|
|
參考之前的文章很多先進都用以下方法控制Excel
eole=CREATEOBJECT('Excel.application')
eole.Workbooks.add
.....
想請問如果Excel及其檔案使用者已事先開啟了,我要怎麼去控制呢? |
|
回頂端 |
|
|
lelhappy
註冊時間: 2004-06-04 文章: 20
第 2 樓
|
發表於: 星期二 十二月 16, 2008 9:22 am 文章主題: |
|
|
支持一下...
我也有這樣的問題.... |
|
回頂端 |
|
|
candy7240
註冊時間: 2008-12-02 文章: 8
第 3 樓
|
發表於: 星期二 十二月 16, 2008 1:52 pm 文章主題: |
|
|
If !Type("eole")="O" &&判斷是否為物件
eole=Createobject('Excel.application')
eole.Workbooks.Open(m_file)
Endif
如果不是物件的話,就在開啟,有的話,就跳過不做 |
|
回頂端 |
|
|
elson
註冊時間: 2004-05-16 文章: 10
第 4 樓
|
發表於: 星期四 十二月 18, 2008 8:05 am 文章主題: |
|
|
找到了...
*- See if Excel is already open otherwise we need to start it.
m.lOldSetOpt = DDESetOption("SAFETY")
=DDESetOption("SAFETY",.F.)
m.sysch=DDEInitiate("Excel","System")
IF m.sysch = -1 &&failed
oleApp = CreateObject("Excel.Application")
oleApp.workbooks.add
oleApp.visible=.T.
oleApp.ActiveWorkbook.ActiveSheet.Cells(1, 1).Value = "ADD"
ELSE
=DDETerminate(m.sysch)
oleApp = GETOBJECT(, "Excel.Application")
oleApp.ActiveWorkbook.ActiveSheet.Cells(1, 1).Value = "=111+111"
oleApp.ActiveWorkbook.ActiveSheet.Cells(1, 2).Value = "111"
ENDIF |
|
回頂端 |
|
|
richshih
註冊時間: 2007-10-11 文章: 153
第 5 樓
|
發表於: 星期四 十二月 18, 2008 9:37 pm 文章主題: |
|
|
可試試以下
try
oleApp = GETOBJECT(, "Excel.Application")
oleApp.ActiveWorkbook.ActiveSheet.Cells(1, 1).Value = "=111+111"
oleApp.ActiveWorkbook.ActiveSheet.Cells(1, 2).Value = "111"
catch
oleApp = CreateObject("Excel.Application")
oleApp.workbooks.add
oleApp.visible=.T.
oleApp.ActiveWorkbook.ActiveSheet.Cells(1, 1).Value = "ADD"
endtry |
|
回頂端 |
|
|
|