想在vb.net中寫一段程式,把特定的內容寫入一個已有的word 檔案。網上提供了一些方法,但是,并沒有解決我的問題。
比如:Dim wApp As Word.Application
Set wApp = New Word.Application
wApp.Visible = True
還有
1Public Class WordOpLib
2
3
4 Private oWordApplic As Word.ApplicationClass
5 Private oDocument As Word.Document
6 Private orange As Word.Range
7 Private oShape As Word.Shape
8 Private oSelection As Word.Selection
這類的方法,寫了就會提示有錯,真不知道問題出在哪里?
求高手指點
uj5u.com熱心網友回復:
set 是vb6的要先添加com參考
Dim wApp As new Word.Application
wApp.Visible = True
uj5u.com熱心網友回復:
用第三方控制元件吧,全脫的也有很多不是,微軟這套各個版本兼容就夠你一受,控制得了程式你還控制得了客戶了←_←。。。。。。。寫入word一般不就是格式化好的word檔案替換幾個字符么。。。uj5u.com熱心網友回復:
正好前一段時間研究過,給你一段代碼。我是直接把textbox控制元件內的內容寫入word內。Private Sub Button47_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button47.Click
'檢測結果保存至word檔案
If TextBox24.Text = Nothing Then '判斷是否已經完成行低壓負荷表檢測
MsgBox("請先執行低壓負荷表檢測步驟!", MessageBoxIcon.Exclamation)
Exit Sub
End If
Dim WordApp As Word.Application '宣告word物件
Dim WordFile As Word.Document '宣告檔案物件
Dim FileSave As New SaveFileDialog '保存檔案對話框
Dim SavePath As String '檔案保存路徑
WordApp = New Word.Application '實體化doc物件
WordApp.Visible = False '隱藏doc檔案
FileSave.Filter = "Word File(*.docx)|*.docx|Word File(*.doc)|*.doc" '保存為docx檔案或者doc檔案
FileSave.ShowDialog() '顯示保存檔案對話框
SavePath = FileSave.FileName '檔案保存路徑
If SavePath = Nothing Then '如果未保存檔案,則退出程序
Exit Sub
End If
If Not File.Exists(SavePath) Then '檔案不存在則創建檔案
WordApp.Documents.Add.SaveAs(SavePath)
Else
'檔案存在則洗掉至回收站,重新創建檔案
My.Computer.FileSystem.DeleteFile(SavePath, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin, FileIO.UICancelOption.DoNothing)
WordApp.Documents.Add.SaveAs(SavePath)
End If
WordFile = WordApp.Documents.Open(SavePath, Nothing) '打開檔案
WordApp.Visible = False '檔案隱藏
WordApp.Selection.TypeText("低壓負荷統計表檢測結果") '寫入標題
WordApp.Selection.TypeParagraph() '插入空行
WordApp.Selection.TypeText(TextBox24.Text) '寫入檢測結果
WordFile.Save()
WordApp.Quit() '結束wordApp物件
System.Runtime.InteropServices.Marshal.ReleaseComObject(WordApp)
WordApp = Nothing '釋放wordApp物件
MsgBox("檔案已保存至:" & SavePath & "!", MessageBoxIcon.Information)
End Sub
uj5u.com熱心網友回復:
一般都用第三方控制元件 aspose 是用的最多的 你可以百度一下.uj5u.com熱心網友回復:
我一般寫個word檔案,需要變化的用占位符標識好,保存為xml格式,擴展名再改成doc,這樣打開還是word打開,看不出來。代碼就是打開這個xml文本檔案,替換占位符就可以。 xml格式可能比較亂,中英文會分開定義樣式,可能占位符被拆分了,需要稍微文本方式處理處理。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/76288.html
標籤:VB.NET
下一篇:C# 強制轉換
