2015-09-04 57 views
0

目前我正在嘗試使用ActiveX和Matlab將一些文本寫入Word。此文件:http://www.mathworks.com/matlabcentral/fileexchange/9112-writetowordfrommatlab 幫助了我很多。但我無法弄清楚如何插入超鏈接到Word。在Matlab中使用Matlab創建超鏈接activeX

例如我想添加與「www.test.de」相關的單詞「test」。與

ActXWord.ActiveDocument.Hyperlinks.Add 

方法

ActXWord = actxserver('Word.Application'); 
ActXWord.Visible = true; 
trace(ActXWord.Visible); 

word_handle = invoke(ActXWord.Documents,'Add'); 

ActXWord.ActiveDocument.Hyperlinks.Add('test','www.test.de'); 

,還有一些其他的組合:

我已經試過這一點。但是Matlab不知道.Add方法。我發現了一些像這樣工作的Excel示例,但對於Word而言,它不起作用。有人有一個想法是什麼問題可能是什麼?

回答

0

你的問題並沒有真正與MATLAB相關。您沒有正確調用ActiveX組件的Add方法。

這應該工作:

link = 'www.test.de'; 
ActXWord.ActiveDocument.Content.InsertAfter(link); 
ActXWord.ActiveDocument.Hyperlinks.Add(word_handle.Range(0, length(link)), link); 

無論如何,這是不相關的MATLAB;有關更多信息,請參閱MS Word VBA reference

+0

謝謝!這是有效的,但現在文檔中的整個文本都是超鏈接。我怎樣才能確定某個單詞的範圍(例如測試)? – deSteini

+0

@deSteini我已更新答案,以便文檔中的所有文本都不會成爲超鏈接。 – lmillefiori