返回列表 上一主題 發帖

excel開啟word填入相關資料

excel開啟word填入相關資料

請各位先進幫忙用vba用excel開啟word填入相關資料可以做到嗎
?請參考excel附件說明謝謝。

1.zip (8.69 KB)

回復 2# luhpro


    謝謝iuhprohu先進指導,這一個好方法,只是名單有幾百筆,我要的只是找出一筆在"成果報告.doc"第一頁填入相關基本資料,續頁需是空白頁要撰寫相關報告。
       iuhprohu先進可否如附件需求給予協助謝謝您。

TOP

回復 4# GBKEE


    感謝GBKEE版主大力協助您的程式可以如小第所需運作,今想請版主再次協助更改開啟Documents.Open "d:\成果報 告.doc"原本只有一頁若改成二頁,  目前程式只能顯示第一頁(作用頁)因自己才疏學淺,找尋相關資料試了很久還是失敗,請版主再給予協助謝謝。
Dim Rng As Range
Private Sub TextBox1_Change()
    If Trim(TextBox1) <> "" Then  '去除兩旁空白字元後的TextBox1
        Set Rng = Sheets("SHEET1").Range("a:a").Find(Trim(TextBox1), LOOKAT:=xlWhole)
                                ' .Range("a:a") 尋找:身份證字號
        If Not Rng Is Nothing Then
            If MsgBox(TextBox1 & vbLf & "印列?", vbYesNo, "成果報 告") = vbYes Then Ex
        End If
    End If
End Sub

Private Sub Ex()
    Dim AR, i As Integer
    AR = Array("成果報 告", "H", "B", "D", "A", "I", "J", "K")
       '表頭各欄位項目字串間隔請自行調整與顯示在 "成果報 告.DOC,的字串間隔一致
    For i = 1 To UBound(AR)
        AR(i) = Cells(1, AR(i)) & " : " & Rng.Cells(1, AR(i))
        '導入 每欄位的表頭&":"&字串(內容)
    Next
    With CreateObject("WORD.APPLICATION")
        .Visible = True
        .Documents.Open "d:\成果報 告.doc"原檔案只有一頁現改有二頁,要這二頁能儲存在"d:\成果報 告.doc"
        With .ActiveDocument
            .Range(.Range.Start, .Range.End).Text = Join(AR, vbLf)
            With .Range
                .Font.Size = 16
                .ParagraphFormat.Alignment = 0    'wdAlignParagraphLeft     '靠左
                With .Paragraphs(1).Range
                    .Font.Size = 24
                    .ParagraphFormat.Alignment = 1 ' wdAlignParagraphCenter '至中
                End With
            End With
            .PrintOut    '印列
            .Close
        End With
        .Quit
   End With
End Sub

TOP

回復 6# GBKEE


.Documents.Open "d:\成果報 告.doc"原檔案只有一頁現改成有二頁,要這二頁能儲存在"d:\成果報 告.doc"
        With .ActiveDocument
    開 啟d:\成果報 告.doc若改成有二頁,經 With .ActiveDocument後只剩第一頁,可以將二頁都保存嗎?可能是第二頁沒有作用的原故所以不見了。

TOP

謝謝GBKEE版主大力協助,經您再次修改程式己符合小第需求。

TOP

        靜思自在 : 做該做的事是智慧,做不該做的事是愚癡。
返回列表 上一主題