1. 程式人生 > >VB控制Word文件例項精選一

VB控制Word文件例項精選一

        1、在Word文件中插入表格,給單元格賦值,訪問單元格內容,拆分及合併單元格

'先引用Microsoft Word 11.0 Object Library
Option Explicit

Dim WordApp As Word.Application '建立Word應用程式

Private Sub Command1_Click()
    
    Set WordApp = New Word.Application '例項化
    WordApp.Visible = True '顯示 Office Word 介面
    '或者Application.Visible = True
    WordApp.DisplayAlerts = False '不提示儲存對話方塊
    WordApp.Documents.Add '建立新的空白Word文件
    WordApp.Selection.EndKey unit:=wdStory  '將游標移到文件末尾,在文字後面插入表格
    Selection.TypeText Text:="我的Word表格" '表格的標題名稱
    Call WordApp.ActiveDocument.Tables.Add(WordApp.Application.Selection.Range, 10, 5, 1, 0) '插入一個10行5列的表格
    Selection.Tables(1).Columns.Width = 80 '定義表格的列寬
    
    '給單元格賦值
    WordApp.ActiveDocument.Tables(1).Cell(1, 1).Range.InsertAfter "序號"
    WordApp.ActiveDocument.Tables(1).Cell(1, 2).Range.InsertAfter "專案1"
    WordApp.ActiveDocument.Tables(1).Cell(1, 3).Range.InsertAfter "專案2"
    WordApp.ActiveDocument.Tables(1).Cell(1, 4).Range.InsertAfter "專案3"
    WordApp.ActiveDocument.Tables(1).Cell(1, 5).Range.InsertAfter "專案4"
    
    '合併單元格
    WordApp.ActiveDocument.Tables(1).Cell(2, 2).Select '選中表格的第2行第2列
    Call WordApp.Application.Selection.MoveDown(5, 3, 1) '向下移動3格
    WordApp.Application.Selection.Cells.Merge '合併4個格子
    
    '拆分單元格
    WordApp.ActiveDocument.Tables(1).Cell(10, 2).Select '選中表格的第10行第2列
    Call WordApp.Application.Selection.Cells.Split(7, 2, True) '拆分成7行2列    
    
    '訪問單元格內容
    Debug.Print WordApp.ActiveDocument.Tables(1).Cell(1, 1).Range.Text '第1行第1列的內容
    
    ActiveDocument.SaveAs "c:\MyWord.doc" '儲存最後生成的word文件

End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
    WordApp.Quit
    Set WordApp = Nothing
End Sub

        生成的表格如下圖所示:


        2、在Word文件中插入和匯出圖片物件

'先引用Microsoft Word 11.0 Object Library
Option Explicit

Dim WordApp As Word.Application '建立Word應用程式

Private Sub Command1_Click()
    On Error GoTo Errhandler
    CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"
    CommonDialog1.FilterIndex = 1
    CommonDialog1.ShowOpen
    Set WordApp = New Word.Application '例項化
    WordApp.Documents.Open CommonDialog1.FileName '開啟Word檔案
    WordApp.Visible = True '顯示 Office Word 介面
    '或者Application.Visible = True
    WordApp.DisplayAlerts = False '不提示儲存對話方塊
    WordApp.Selection.EndKey Unit:=wdStory  '將游標移到文件末尾,在文字後面插入圖片物件
    Selection.TypeText Text:="我的圖片" '圖片的標題名稱
    
    '插入圖片物件
    Selection.InlineShapes.AddPicture FileName:="C:\CommandPicture.jpg", LinkToFile:=False, SaveWithDocument:=True
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    Selection.InlineShapes(1).ConvertToShape.Select
    Selection.ShapeRange.Fill.Visible = msoFalse
    Selection.ShapeRange.Fill.Transparency = 0#
    Selection.ShapeRange.Line.Weight = 0.75
    Selection.ShapeRange.Line.DashStyle = msoLineSolid
    Selection.ShapeRange.Line.Style = msoLineSingle
    Selection.ShapeRange.Line.Transparency = 0#
    Selection.ShapeRange.Line.Visible = msoFalse
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.ShapeRange.Height = 361.4
    Selection.ShapeRange.Width = 481.6
    Selection.ShapeRange.PictureFormat.Brightness = 0.5
    Selection.ShapeRange.PictureFormat.Contrast = 0.5
    Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic
    Selection.ShapeRange.PictureFormat.CropLeft = 0#
    Selection.ShapeRange.PictureFormat.CropRight = 0#
    Selection.ShapeRange.PictureFormat.CropTop = 0#
    Selection.ShapeRange.PictureFormat.CropBottom = 0#
    Selection.ShapeRange.RelativeHorizontalPosition = wdRelativeHorizontalPositionColumn
    Selection.ShapeRange.RelativeVerticalPosition = wdRelativeVerticalPositionPage
    Selection.ShapeRange.Left = wdShapeCenter
    Selection.ShapeRange.Top = wdShapeCenter
    Selection.ShapeRange.LockAnchor = False
    Selection.ShapeRange.WrapFormat.AllowOverlap = True
    Selection.ShapeRange.WrapFormat.Side = wdWrapBoth
    Selection.ShapeRange.WrapFormat.DistanceTop = CentimetersToPoints(0)
    Selection.ShapeRange.WrapFormat.DistanceBottom = CentimetersToPoints(0)
    Selection.ShapeRange.WrapFormat.DistanceLeft = CentimetersToPoints(0.32)
    Selection.ShapeRange.WrapFormat.DistanceRight = CentimetersToPoints(0.32)
    Selection.ShapeRange.WrapFormat.Type = 3
    Selection.ShapeRange.ZOrder msoSendBehindText  '設定圖片為襯托於文字下方

    '判斷文件中是否存在圖片物件
    If ActiveDocument.Shapes.Count + ActiveDocument.InlineShapes.Count > 0 Then
       '取得圖片的2種方法
       
       '第1種方法:用下面命令將檔案另存為網頁格式的檔案,資料夾“MyWord.files”將儲存Word文件中所有的圖片
       '這種方法對所有的Word版本均適用
       ActiveDocument.SaveAs "c:\MyWord.htm", wdFormatHTML '儲存為網頁格式
       
       '第2種方法:引用ADO物件庫,將所有的圖片儲存在資料庫中,然後可以一張一張地顯示出來
       
       '另外:
       '如果Word文件是docx格式的,那可以按這個辦法解決:
       '.docx 格式的檔案本質上是一個ZIP壓縮檔案,.docx 格式檔案的主要內容是儲存為XML格式的,但檔案並非直接保存於磁碟。
       '它是儲存在一個ZIP檔案中,然後取副檔名為.docx。我們只需要用解壓軟體比如:WinZIP、WinRAR或者7ZIP等軟體進行解壓就可以了。
       '方法有兩種,一種是將.docx字尾名修改為.zip字尾名;另一個方法就是開啟WinZIP然後,選擇此文件即可。
       '圖片資原始檔都被儲存在word\media資料夾中。           
       
    Else
       Debug.Print "Word文件中不存在圖片物件!"
    End If

Errhandler:
    Exit Sub
End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
    WordApp.Quit
    Set WordApp = Nothing
End Sub


        3、統計Word文件頁數、字數

'先引用Microsoft Word 11.0 Object Library
Option Explicit

Dim WordApp As Word.Application '建立Word應用程式

Private Sub Command1_Click()
    On Error GoTo Errhandler
    CommonDialog1.Filter = "Word(*.Doc)|*.Doc|AllFile(*.*)|*.*"
    CommonDialog1.FilterIndex = 1
    CommonDialog1.ShowOpen
    Set WordApp = New Word.Application '例項化
    WordApp.Documents.Open CommonDialog1.FileName '開啟Word檔案
    WordApp.Visible = False '不顯示 Office Word 介面
    '或者Application.Visible = True
    'WordApp.DisplayAlerts = False '不提示儲存對話方塊
    
    Debug.Print WordApp.ActiveDocument.ComputeStatistics(Word.WdStatistic.wdStatisticPages) '頁數
    Debug.Print WordApp.ActiveDocument.Characters.Count '字數
    
Errhandler:
    Exit Sub
End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
    WordApp.Quit
    Set WordApp = Nothing
End Sub

相關推薦

VB控制Word例項精選

        1、在Word文件中插入表格,給單元格賦值,訪問單元格內容,拆分及合併單元格 '先引用Microsoft Word 11.0 Object Library Option Explicit Dim WordApp As Word.Application '建

Java線上併發控制word

前言: 對於線上操作word文件的OA系統來說有一個常見問題,就是對於服務端放置的word文件,如果有兩個人甚至更多客戶端同時開啟該文件時,就會存在併發問題。有了併發問題就會出現操作的文件儲存內容被覆蓋的問題,造成使用者編輯資料丟失,這是很致命的,該如何解決呢? 首先我們可以通過系統業務邏輯來限

Word中最後頁底端的表格製作

來源:https://jingyan.baidu.com/article/a3f121e4c3e542fc9052bbfe.html 在公文文件的最後一頁的底端通常都會有規範性的文字格式。如在政府部門中釋出的“紅標頭檔案”裡,我們經常會看到在最後一頁的底端會有主題詞、抄送、部門以及時間之類的文樣

VB匯出word

Private Sub docout_Click()       '匯出WORD按鈕  If rs1.RecordCount < 1 Then  MsgBox "匯出失敗,當前列表中沒有記錄!"  outstate1.Visible = False    Exit Su

使用VBword進行格式調整

             在word文件中,有時候會出現大量表格,在需要調整格式時,只能一個一個手動刷格式,這樣不僅費時而且很費力。本人在寫文件時,碰到這種情況,熬夜幹活兒,太累。所以下定決心,抽點時間研究WORD中的巨集程式設計。經過測試,基本上能批量改變word中的樣式

java控制不同使用者同時編輯Word中不同的區域

1.需求 java 實現不同使用者編輯 word 文件的不同區域(https://my.oschina.net/u/3507515/blog/2413926) 這篇文章主要介紹了不同的使用者編輯不同的區域.但是如果多個使用者同時編輯儲存文件文件的時候就會出現相互覆蓋的問題, 所以 pageo

Word恢復,電腦突然關機 如何步步將.asd恢復為Word (詳解)

剛剛遇到了一個扎心的問題,搗騰了一會兒終於搞定了,相信你肯定也遇到過這樣的一種情況,辛辛苦苦編輯好的Word文件材料,突然間遇上電腦崩潰關機了,文件還沒來得及儲存,哭的心都有了,但哭沒用啦 O(∩_∩)O哈哈~。 那麼如何恢復未儲存的文件呢?你是否有發現自己的電腦中其實還存在著這樣一個

Word自動生成目錄方法,看就會!還會自動更新

無論是寫論文還是工作中,有時候需要設定Word文件的目錄,但是那麼多頁的文件,一個一個手動去新增太麻煩了,究竟有什麼好辦法可以讓Word文件自動生成目錄呢?相信大家都想知道,那今天就讓小編給大家講講Word文件自動生成目錄的方法吧,絕對簡單,保證大家看完就會! 1、先設定好文章的標題樣式 首先,需要把文章

webbrowser控制元件顯示word

首先,在Visual Studio中建立一個C#語言的Windows應用程式,然後在左側的工具箱中點選滑鼠右鍵,選擇“新增/移除選項”,就能夠開啟自定義工具箱視窗,在視窗中的COM元件列表中,我們就能找到“Microsoft Web Browser”(如果是中文版作業系統,

如何次取消全部WORD裡的所有超連結?

經常會在網上覆制一些文章,但是貼上之後裡面有很多超連結,現在的就有一個問題就是如何快速移除文章裡的所有超連結還不影響文章現有的格式。 有沒有辦法可以實現呢?答案是可以的,下面先預知下大概的超連結去除流程。 簡要概述 首先選取整篇文章或者一部分文章,之後按鍵盤上的【Ctrl+

PHP生成word,表格例項

<?php require_once 'PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->cre

用Python讀取Word並寫入Excel(

工作中經常要處理大量的word文件,大部分內容都很簡單,比如說做一個彙總表,從發來的word文件裡提取名字、聯絡方式、地址等資訊,提取完之後還需要用Excel做彙總,對於十幾份的文件尚好,但對於成百份,

如何在Python中將資料插入到Word模板中生成Word

   在一些的專案開發中,會有一些生成Word檔案的操作,比如將獲取到的一些資料新增到Word模板當中的相應的位置生成一份Word文件。     由於最近的Python專案當中需要將一些從伺服器查出的資料新增到Word模板當中生成一份Word文件,完成這個操作需要用到的是P

如何把WORD中的其中頁轉為橫向,其它頁不變,仍為縱向

把滑鼠停留在你要橫向的那一頁的最前面,然後選擇頁面設定,看到最下面有一個應用於,不要應用於整篇文件就可以了,讓他應用於插入點之後,然後選擇橫向,確定以後,後面的文件就變成橫的了。 然後在這個橫著的頁面的後一頁你在如此設定,讓他後面的再變成縱向的就是了,也就實現了只有一頁橫

運用c# 對Word進行操作總結()建立Word

 在醫療管理系統中為儲存患者的體檢和治療記錄,方便以後的醫生或其他人檢視。當把資料儲存到資料庫中,需要新建很多的欄位,而且操作很繁瑣,於是想到網頁的資訊建立到一個word文字中,在顯示的時,可以線上開啟word,也可以把word轉換成html標籤顯示。 這樣使用

AspNet根據模板匯出Word

前言   最近的專案中需要應用到根據Wrod模板匯出文件的需求,一個很實用的功能。下面就來分享一下我的實現過程: 內容   環境:Asp.Net 新增:Aspose.Words Dll檔案的引用   步驟一:製作Wrod模板   通過編輯域來設定我

ASPOSE.Cells & ASPOSE.Words 操縱Excel和Word的 .NET Core 例項

Aspose.Total是Aspose公司旗下的最全的一套office文件管理方案,它提供的原生API可以對Word、Excel、PDF、Powerpoint、Outlook、CAD、圖片、3D、ZIP等超過100多種檔案格式進行操作,還具有報表、二維碼、GIS、任務等功能,可以使用C#(.NET/.NET

使用shell腳本往中加

path 效果 腳本 .cn .com txt 列數 $1 9.png 上午大學同學問了我一個腳本的問題,大概需求就是看到所有端口的開啟情況,還要知道每個端口的應用程序路徑,而且要和之前的數據齊平,就是再加一列數據。我腚眼一看,非常容易嘛,但由於當時忙,所以就說中午給他發過

自動提取系統---binwalk(

程序實現 影響 buffer 但是 結果 src c庫 占用 oid Binwalk是路由器固件分析的必備工具,該工具最大的優點就是可以自動完成指定文件的掃描,智能發掘潛藏在文件中所有可疑的文件類型及文件系統。 1、Binwalk和libmagic   Binwalk的掃描

C#Word轉換為html

關閉 ssa gen ocx ont 文件 dhtml ebr name 1 using Microsoft.Office.Interop.Word; 2 using System; 3 using System.Collections.Generic;