上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
jtcom01
註冊時間: 2005-07-29 文章: 413
第 16 樓
|
發表於: 星期三 九月 14, 2016 2:14 pm 文章主題: |
|
|
感謝先進指點..努力中.. |
|
回頂端 |
|
 |
perry
註冊時間: 2014-07-20 文章: 203
第 17 樓
|
發表於: 星期三 九月 14, 2016 7:14 pm 文章主題: |
|
|
個人也是不會錄製巨集,所用均是土法煉鋼的方式!!
檢視-工具列-控制工具箱-檢視程式碼
在設計模式視窗中點選-瀏覽物件
若無法點選檢視程式碼先點選設計模式再選檢視程式碼
WDApp=createobject('Word.application')
WDApp.Documents
參考 Documents 指令用法
WDApp.Documents(1)
參考 Document 指令用法
抱歉,個人沒用過Word,不知有沒有寫錯= ='''
以 Excel 為例:
XLApp=createobject('excel.application')
不妨將 XLApp 當成 Application 的指令
XLApp.WorkBooks ->活頁簿
其所對應的參考 WorkBooks 指令用法
XLApp.WorkBooks(1) ->第1個活頁簿
其所對應的參考 WorkBook 指令用法
XLApp.WorkBooks(1).Sheets(1) ->第1個活頁簿第1個試算表
其所對應的參考 Sheet 指令用法
XLSheet1=XLApp.WorkBooks(1).Sheets(1) ->用變數取代不用每次寫的落落長
PR_TF=XLSheet1.PrintPreview() ->當按了印表確定會傳回 .T.
XLSheet1.PrintOut ->直接印表 (有很多參數)
在瀏覽物件視窗中點選指令按滑鼠右鍵,
選說明則有參考寫法!!
最後就是 踹 踹 踹 |
|
回頂端 |
|
 |
jtcom01
註冊時間: 2005-07-29 文章: 413
第 18 樓
|
發表於: 星期三 九月 14, 2016 9:45 pm 文章主題: |
|
|
感謝先進..
mtxt=ALLTRIM(thisform.text1.value)
mtxt2=ALLTRIM(thisform.text2.value)
mwordname='c:\jttxt\test1.docx'
mwordsave='c:\jttxt\save1.docx'
sh=CREATEOBJECT("Word.Application")
sh.Documents.Open("&mwordname")
sh.visible = .f.
sh.Selection.Goto(-1, , ,'name')
sh.Selection.TypeText('&MTXT')
sh.Selection.Goto(-1, , ,'name2')
sh.Selection.TypeText('&MTXT2')
sh.visible = .T.
sh.ActiveDocument.SaveAs("&mwordsave")
sh.Documents.Open("&mwordsave")
*sh.ActiveDocument.PrintPreview
sh.ActiveDocument.PrintOut
sh.Application.Quit
卻出現訊息如下
請等候 WORD完成所有的列印工作 |
|
回頂端 |
|
 |
jtcom01
註冊時間: 2005-07-29 文章: 413
第 19 樓
|
發表於: 星期三 九月 14, 2016 10:06 pm 文章主題: |
|
|
補充說明..
VFP6.0
OFFICE2010
請各位先進多多指教..感恩 |
|
回頂端 |
|
 |
perry
註冊時間: 2014-07-20 文章: 203
第 20 樓
|
發表於: 星期三 九月 14, 2016 11:36 pm 文章主題: |
|
|
sh.Documents.Open("&mwordsave") <-這列似乎是多餘的
用原來修改後的文件就可列印了.
而收尾(結束文件)步驟和 Excel (結束活頁簿)是相同指令
Sh=createobject('word.application')
sh 就是 application 了
sh.quit
您不妨參考一下結尾關閉 Excel 的寫法!!
word 指令說明不清楚時可查 Excel 相同的指令說明,
用法大同小異!! |
|
回頂端 |
|
 |
jtcom01
註冊時間: 2005-07-29 文章: 413
第 21 樓
|
發表於: 星期四 九月 15, 2016 7:42 pm 文章主題: |
|
|
感謝先進指導..努力中 |
|
回頂端 |
|
 |
jtcom01
註冊時間: 2005-07-29 文章: 413
第 22 樓
|
發表於: 星期四 九月 15, 2016 9:07 pm 文章主題: |
|
|
ㄧ再測試..發現..在OFFICE2007可以正常.在OFFICE2010就出現..請等候 WORD完成所有的列印工作
不知各位先進是否有此經驗..敬請不吝指教..再次感謝 |
|
回頂端 |
|
 |
perry
註冊時間: 2014-07-20 文章: 203
第 23 樓
|
發表於: 星期四 九月 15, 2016 10:54 pm 文章主題: |
|
|
若有印表
On Error Do errpass
.
.
sh.quit
on error
proc errpass
retu
====
若沒印表
On Error Do Errline with Line()
.
.
sh.quit
on error
proc errline
lpar xerr_line
messagebox('列號:'+allt(str(xerr_line)),64)
retu |
|
回頂端 |
|
 |
jtcom01
註冊時間: 2005-07-29 文章: 413
第 24 樓
|
發表於: 星期五 九月 16, 2016 3:37 pm 文章主題: |
|
|
感謝各位先進的指教..問題總算解決了..
方法就是把 office2010word文件存成 97-2003文件
再次感謝各位先進.. |
|
回頂端 |
|
 |
|