1 使用Shell函數直接調用
目前創新互聯公司已為上千多家的企業提供了網站建設、域名、網站空間、網站運營、企業網站設計、始興網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
語法:Shell (pathname[,windowstyle]).Pathname是指要執行的程序的名字和任何必須的參數或命令行開關,可以包括目錄和驅動器名;Windowstyle是執行程序的窗口風格的數字。
使用Shell調用Word比較簡單,編程量小,但必須明確指定Word所在路徑,這不利于移植,而且,不能對Word進行控制,不利于程序和Word之間的數據交換。
2 使用OLE自動化控制Microsoft Word
2.1 使用方法
(1)Word為OLE自動化提供一種稱為“Basic”的對象,要在VB中控制Word ,首先要定義一個引用Word中“Basic”對象的對象變量:Dim Wordobj as Object
(2)將Word 中的“Basic”對象賦給該對象:Set Wordobj=CreateObject("Word.Basic")
(3)可以使用大多數WordBasic語句和函數控制Word或Word文檔,使用方法和在Word宏中使用WordBasic指令的方法基本相同。
(4)關閉Word:Set Wordobj =Nothing。
注意:“Basic”對象不支持關閉它自己的一個方法。即若在OLE自動化中關閉了Word,則對象被置為Nothing,便不能再對對象進行操作,程序出錯。
2.2 VB指令與WordBasic指令的差異
(1)有一些語句和函數不能使用,包括:控制結構,如While…Wend和If…Then…Else;聲明語句,如Dim;定制對話框相關的語句:FileExit語句;要求數組變量作為參數的語句或函數。
(2)也有一些指令使用方法不同。①返回字符串以一個美元符($)結束的WordBasic函數的關鍵字必須括在方括號中。例如,在WordBasic宏中的GetBookmark$()語句:mark$=GetBookmark$("Address"),若用VB調用,必須這樣寫mark$=Wordobj.[Ge-tBookmark$]("Address")。②選擇一個命令按鈕用“True”,不選擇用“False”
2.3 對OLE自動化的說明
Word可以為OLE自動化給另一個應用提供對象,但是它不能使用OLE自動化訪問其它應用中的對象。例如:VB和Excel可以使用OLE自動化訪問Word,但是Word不能使用OLE自動化訪問它們。
3 在包容器中嵌入Word對象
在VB中,要訪問在包容器中嵌入的Word對象,首先要在項目中插入對象。做法如下:在窗體中插入OLE控件,對象類型選擇“MicrosoftWord圖片”或“Microsoft Word文檔”,再按“確定”。
然后用Object屬性訪問文檔或圖片,并使用WordBasic語句和函數作用于它。嵌入的對象必須在可被訪問之前被激活,可以使用Action屬性激活OLE控件。例如,使用下面指令訪問一個嵌入在稱為OLE1的OLE控件中的文檔:
Dim Wordobj as Object
OLE1.Action =7
Set Wordobj =OLE1.Object.Application. WordBasic
其他方面,使用方法同OLE自動化。使用在包容器中嵌入的Word對象,Word顯示的窗口大小、位置與OLE控件定義的大小、位置相同,而且工具欄顯示位置與Word脫離。這一點與OLE自動化相比,是個不足。
總之,要想在Microsoft Visual Basic中控制Microsoft Word,最好使用OLE自動化,通過使用WordBasic指令對Word進行全面控制,而且,用戶使用起來與使用Microsoft Word一樣,非常方便。
不清楚報錯信息,只能給以下提示:
1、工程--引用,選Microsoft Word 11.0 Object Library
2、聲明并賦值word程序相關變量,注意步驟不能亂。
Dim appObj As New Word.Application '新建一個word程序對象
Dim docObj As Word.Document '聲明文檔對象,也可以用new新建
Dim strFile As String = "D:\MyDocu.doc"
docObj = appObj.Documents.Open(strFile, False, False, False, "", "", False, "", "", , False, False, False) '打開文檔
docObj.Activate()'激活文檔
.......
With docObj
.Save()
.Close()
End With
docObj = Nothing
appObj = Nothing
注意:聲明word對象和文檔對象,應該提示錯誤,你只需要點擊“示警”圖標,在展打的選項里選第1項導入就可以了。
這是因為你的圖片放置方式不是嵌入型,而是其他方式
WORD里如果希望跟處理文字一樣對其進行各種屬性處理,只能是嵌入型才可以
右鍵單擊圖片屬性 環繞方式改成 嵌入型就可以了
當前文章:word嵌入vb.net Word嵌入Excel表格怎么修改顯示區域
URL網址:http://vcdvsql.cn/article36/dosdjsg.html
成都網站建設公司_創新互聯,為您提供定制開發、網站排名、服務器托管、移動網站建設、定制網站、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯