[Word] 連續插入多個文字檔



贊助商連結


leonchou
2001-09-07, 11:27 PM
這是網友曾問我的問題:
 
有100個文字檔 (檔名都不一樣),想要插入文章之中,但是 Word
的插入檔案功能,每次只能插入一個檔案,不知是否可以一次就將
所有的檔案插入??
 
我找來找去, Word 似乎真的沒有一次插入多個檔案的功能~
只好用巨集來做了...
 
請新增並執行以下這個巨集,它會詢問檔案存放的路徑,
然後自動將該目錄下所有純文字檔 (*.txt) 插入目前文件裡。
 
Sub 插入文字檔()
1 mypath = Options.DefaultFilePath(wdDocumentsPath)
2 mypath = InputBox("請輸入路徑名稱 (例如 C:\Temp):", "插入文字檔", mypath)
3 If mypath = "" Then Exit Sub Else On Error GoTo Z
4 If Right(mypath, 1) <> "\" Then mypath = mypath & "\"
5 myfile = Dir(mypath & "*.txt", vbDirectory)
6 While myfile <> ""
7 Selection.InsertFile mypath & myfile
8 myfile = Dir()
9 Wend
Z
End Sub
 
〔依程式行號說明〕
 
1 設定變數 mypath = Word 預設的文件儲存路徑.
2 設定變數 mypath = 輸入方塊 (預設為 mypath) 的回傳結果.
3 若在輸入空白或按了取消, 傳回空字串, 則結束巨集;
 否則設定以下程式出現錯誤時, 跳到 Z 行
4 因 mypath 代表一個路徑, 若它的結尾不是 \ 符號, 則補上.
5 設定變數 myfile = 在 mypath 路徑下搜尋所有 txt 檔
 所得到的第一個檔名。
6 執行迴圈, 直到該路徑下的 txt 檔處理完畢為止.
7 在編輯插入點插入檔案.
8 將變數 myfile 設為下一個找到的 txt 檔.
9 結束 While...Wend 迴圈.
Z 不做任何動作, 只供發生檔案存取錯誤時跳至此處 (等於結束程式)

贊助商連結


kitty-bb
2003-01-22, 10:41 PM
您好

就上所述
有一些 不太了解

如果我要將一目錄中所有的 HTML 檔另存成 DOC 檔
檔名就自動抓檔案/摘要資訊/檔題做為檔名 存檔
要如何做呢

謝謝 教導

leonchou
2003-01-24, 06:47 PM
重點是用BuiltInDocumentProperties取得檔案標題.
不明白的地方查一下VBA Help, 加深印象.

Sub htm_to_doc()
 目錄 = "D:\Temp\"
 檔案 = Dir(mypath & "*.htm")
 While 檔案 <> ""
 Documents.Open 目錄 & 檔案
 With ActiveDocument
 標題 = .BuiltInDocumentProperties(wdPropertyTitle)
 If 標題 <> "" Then
 .SaveAs Left(檔案, Len(檔案) - 4), wdFormatDocument
 .Close
 Else: MsgBox 檔案 & " 沒有標題!!"
 End If: End With
 檔案 = Dir()
 Wend
End Sub

kitty-bb
2003-01-26, 05:16 PM
謝謝教導

目前已完成了
可是它是會用目前的檔案名稱存檔
而不是抓取工具列檔案摘要資訊標題

來做檔案名存檔

leonchou
2003-01-27, 12:45 PM
抱歉, SaveAs那行寫錯了~
如果你有試著了解程式內容, 應該也不難發現..
改成這樣 --
 .SaveAs 標題, wdFormatDocument

kitty-bb
2003-02-06, 07:58 PM
Leon Chou 大大

謝謝 您的教導
我是有看一下程式的內容 可是
不太了解

程式中 這一例 可以改成 開第一個檔的目錄嗎
目錄 = "D:\Temp\"


再問一個問題 就是
當我在存檔的時侯
遇到有空白 可否自行移除

就上方的例子 來講

謝謝
可以介紹我看那 一本書 來學習學習

leonchou
2003-02-06, 10:38 PM
>> 程式中 這一例 可以改成 開第一個檔的目錄嗎..
何謂 "開第一個檔的目錄" ??
目錄 = "D:\Temp\"
D:\Temp\ 是自訂的, 隨你改.

>> 當我在存檔的時侯遇到有空白 可否自行移除..
什麼空白? 整個檔空白? 空格?

>> 可以介紹我看那 一本書 來學習學習..
I did not learn with book, so..
sorry, I have no idea about it.