13.VB6.0 から Excel / Word を起動し Excel の表を Word に貼付印刷する |
1.VB6.0 から Excel / Word を起動し Excel の表を Word に貼付印刷する 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Word 2007/Word 2010(Word 2000〜Word 2003) Option :[Option Explicit] 参照設定:Microsoft Word *.* ObjectLibrary / Microsoft Scripting Runtime 参照設定方法参照 使用 API: その他 :ツール→オプション→全般→エラートラップで[エラー発生時に中断]以外にチェックを入れておいて下さい。 :Word の起動及び終了は、[VBからワードを起動・終了する]を使ってサンプルをテストして下さい。 |
1.VB6.0から Excel / Word を起動し Excel の表を Word に貼付印刷する |
下記コードは、11.VB6.0 からワードを起動・終了する基本操作例ができていて下記コードを追加するものとします。 Private Sub Command1_Click() 'Excel の指定のファイルをオープン(ファイルは、各自ご用意下さい。) Call ExcelOpen(Fso.BuildPath("C:\VBRescu1", "test21.xls"), "Sheet2") 'Word を新規ファイルでオープン Call WordOpen("") '================================================================== 'Excel の表をクリップボードにコピー 'エクセルの指定範囲をコピー(貼り付けたい範囲を設定して下さい。) xlSheet.Range("A1:F6").Copy 'Excel は、非表示でも OK です。 xlApp.Wait Now + TimeValue("00:00:02") '================================================================== 'Excel を終了する Call ExcelClose("", False) 'False の場合保存しないで終了 frgClose = False 'まだ Word が起動中なので '================================================================== 'Word の操作部分 Dim i As Long Dim Lines As Long wdDoc.Activate '文書中の段落数を取得 Lines = wdDoc.Paragraphs.Count With wdDoc.ActiveWindow.Selection '段落がなければ段落を設定 If Lines < 4 Then For i = 1 To 4 - Lines .TypeParagraph Next i End If '選択範囲を文書の 4 行目に移動します。 .GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=4 '貼り付け .Paste End With '印刷プレビューを表示 wdDoc.PrintPreview While wdApp.ActiveWindow.View = wdPrintPreview DoEvents Wend '文書を印刷 印刷処理が終了するまで待機 wdDoc.PrintOut Background:=False '印刷が終われば、Word を閉じる(テストコードなので) Call WordClose(Fso.BuildPath(App.Path, ""), False) End Sub |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
VB6.0 から Word を起動する VB6.0 から Word を終了する VB6.0 から ワード を起動する VB6.0 から ワード
を終了する VB6.0 から Excel と Word の連携 Excel の表を Word に貼り付け VB6.0 から Word のファイルを印刷する Word でクリップボードを利用する VB6.0 から Word の印刷プレビューを表示する VBA Visual Basic for Applications |