在VISIO做的流程圖,因為VISIO本身沒有繁轉簡的功能,只能將流程圖文本框內的中文字COPY出來,在WORD文檔轉為簡體,再COPY回去,一個字:煩...
按WORD文檔轉繁為簡的方法,卻是失敗!!在此,請教各位老師,能否在VFP程序下將VISIO文檔 轉繁為簡,非常感謝!
*嚐試寫的VFP9.0程序代碼
*1)設定對象
public oVisio
oVisio=Createobject("Visio.Application")
*2)打開Visio文檔
ovsd=oVisio.Documents.Open("D:\流程圖\生產流程圖.vsd")
oVisio.Visible=.F. &&不顯示文檔
*下句不能實現
oVisio.VisioBasic.ToolsTCSCTranslate(0,0,0) && 繁轉簡
*上句出錯附圖
上面是简转繁
需要修改成
oWord.WordBasic.ToolsSCTCTranslate(0,0,0)
oWord.WordBasic.ToolsTCSCTranslate(0,0,0)
*!*工具>>信任中心>>宏设置>>启用所有宏
*!*信任对VBA工程对象访问 勾选
*!*有问题联系Alan Hung QQ:20958887 WX:20958887
oVisio=Createobject("Visio.Application")
oVisio.Visible=.F.
ovisio.Documents.Open("D:\流程圖\生產流程圖.vsd")
oWord=Createobject("Word.Application")
oWord.Documents.Add()
FOR EACH oVisioPage IN ovisio.ActiveDocument.Pages
LnShageCount=oVisioPage.Shapes.count
FOR i=1 TO LnShageCount
TRY
oWord.ActiveDocument.Range.Text=ALLTRIM(oVisioPage.Shapes.ItemFromID(i).Characters.Text)
oWord.WordBasic.ToolsSCTCTranslate(0,0,0)
oVisioPage.Shapes.ItemFromID(i).Characters.Text=ALLTRIM(oWord.ActiveDocument.Range.Text)
CATCH
FINALLY
ENDTRY
ENDFOR
ENDFOR
oword.ActiveDocument.Range.Text=""
oword.ActiveDocument.Close()
oword.quit
ovisio.ActiveDocument.Save()
ovisio.Quit
oWord.quit
謝謝老師指導!!