返回列表 上一主題 發帖

excel開啟word填入相關資料

本帖最後由 GBKEE 於 2014-10-10 05:34 編輯

回復 3# y663258

   
我要的只是找出一筆在"成果報告.doc"第一頁填入相關基本資料

試試看
你 1# 附檔 表單的程式碼  尋找:身份證字號
  1. Dim Rng As Range
  2. Private Sub TextBox1_Change()
  3.     If Trim(TextBox1) <> "" Then  '去除兩旁空白字元後的TextBox1
  4.         Set Rng = Sheets("SHEET1").Range("a:a").Find(Trim(TextBox1), LOOKAT:=xlWhole)
  5.                                 ' .Range("a:a") 尋找:身份證字號
  6.         If Not Rng Is Nothing Then
  7.             If MsgBox(TextBox1 & vbLf & "印列?", vbYesNo, "成果報 告") = vbYes Then Ex
  8.         End If
  9.     End If
  10. End Sub

  11. Private Sub Ex()
  12.     Dim AR, i As Integer
  13.     AR = Array("成果報 告", "H", "B", "D", "A", "I", "J", "K")
  14.        '表頭各欄位項目字串間隔請自行調整與顯示在 "成果報 告.DOC,的字串間隔一致
  15.     For i = 1 To UBound(AR)
  16.         AR(i) = Cells(1, AR(i)) & " : " & Rng.Cells(1, AR(i))
  17.         '導入 每欄位的表頭&":"&字串(內容)
  18.     Next
  19.     With CreateObject("WORD.APPLICATION")
  20.         .Visible = True
  21.         .Documents.Open "d:\成果報 告.doc"
  22.         With .ActiveDocument
  23.             .Range(.Range.Start, .Range.End).Text = Join(AR, vbLf)
  24.             With .Range
  25.                 .Font.Size = 16
  26.                 .ParagraphFormat.Alignment = 0    'wdAlignParagraphLeft     '靠左
  27.                 With .Paragraphs(1).Range
  28.                     .Font.Size = 24
  29.                     .ParagraphFormat.Alignment = 1 ' wdAlignParagraphCenter '至中
  30.                 End With
  31.             End With
  32.             .PrintOut    '印列
  33.             .Close
  34.         End With
  35.         .Quit
  36.    End With
  37. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# y663258
  "d:\成果報 告.doc"原本只有一頁若改成二頁,  目前程式只能顯示第一頁(作用頁)因自己才疏學淺,找尋相關資料試了很久還是失敗

有一頁若改成二頁,不了解你的意思,是修改後的存檔嗎??
  1. End With
  2. .PrintOut '印列
  3. .Close True '存檔參數=True ,不存檔參數=False(預設的參數)
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# y663258

試試看
  1. Private Sub Ex()
  2.     Dim AR, i As Integer
  3.     AR = Array("成果報 告", "H", "B", "D", "A", "I", "J", "K")
  4.        '表頭各欄位項目字串間隔請自行調整與顯示在 "成果報 告.DOC,的字串間隔一致   
  5.     For i = 1 To UBound(AR)
  6.         AR(i) = Cells(1, AR(i)) & " : " & Rng.Cells(1, AR(i))
  7.         '導入 每欄位的表頭&":"&字串(內容)
  8.     Next
  9.     With CreateObject("WORD.APPLICATION")
  10.         .Visible = True
  11.         .Documents.Open "d:\成果報 告.doc"
  12.         With .ActiveDocument
  13.             For i = 0 To UBound(AR)
  14.                 If i + 1 > .Paragraphs.Count Then .Paragraphs.Add
  15.                 With .Paragraphs(i + 1).Range
  16.                     .Text = AR(i) & vbLf
  17.                     .Font.Size = IIf(i = 0, 24, 16)
  18.                     .ParagraphFormat.Alignment = IIf(i = 0, 1, 0)
  19.                 End With               
  20.             Next
  21.             .PrintOut    '印列
  22.         .Close True  '存檔
  23.         End With
  24.         .Quit
  25.    End With
  26. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題