2.リッチテキストボックス← →Word 間でテキストのやり取り |
1.リッチテキストボックス← →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] 参照設定:MyWaitDll / Microsoft Word *.* ObjectLibrary / Microsoft Scripting Runtime 参照設定方法参照 使用 API: その他 :プロジェクト→コンポーネント→コントロールで Microsoft Rich Textbox Control 6.0 にチェックを入れ、 :表示されたコントロールをフォームに貼り付けて下さい。 |
1.リッチテキストボックス← →Word 間でテキストのやり取り |
Private Sub Command1_Click() ' On Error Resume Next '------------------------------------------------------ 'リッチテキストファイルを選択してクリップボードにコピー Clipboard.Clear 'クリップボードをクリア With RichTextBox1 .SetFocus .SelStart = 0 .SelLength = Len(.Text) End With 'Ctrlキー+Cキーを送ります(コピー) SendKeys "^C" '------------------------------------------------------- '新規ファイルでWordを起動 Dim wdApp As Word.Application Dim wdDoc As Word.Document Set wdApp = CreateObject("Word.Application") Set wdDoc = wdApp.Documents.Add '既存のファイルを起動する場合 'Set wdDoc = wdApp.Documents.Open("c:\test.doc") Wait 200 '------------------------------------------------------- 'クリップボードのファイルをWord上にペースト wdApp.Selection.Paste Wait 200 '------------------------------------------------------- 'ペーストしたテキストに段落(行間の間隔)を設定 '全て選択 wdApp.Selection.WholeStory '段落を設定(行間の間隔) wdApp.Selection.ParagraphFormat.LineSpacingRule = wdLineSpaceExactly '指定した段落の行間をポイント単位で設定 wdApp.Selection.ParagraphFormat.LineSpacing = CLng(Text1.Text) '------------------------------------------------------- '設定したテキストをクリップボードにコピー wdApp.Selection.Copy Wait 200 '------------------------------------------------------- 'クリップボードからリッチテキスト形式で取得 'クリップボードから取得してリッチテキストボックスに表示 RichTextBox1.TextRTF = Clipboard.GetText(vbCFRTF) '--------------------------------------------------------- 'Word の終了処理 '保存しないで終了 wdApp.Quit SaveChanges:=wdDoNotSaveChanges Set wdDoc = Nothing Set wdApp = Nothing End Sub 図1.上記実行結果 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |