- 締切済み
WORDの呼び出し方法。
はじめまして、私はVBを初めて2日という初心者なのです。先日、何故か会社でプログラムを作れと云う、無謀な指令が来て作り始めたのですが・・・ プログラムは、既にあるワードファイル(docやrtf)をVB6上で開いて書体を変更して自動上書き保存しろとのことなのですが、 色々ネットで調べたのですが、全然、いい情報がなく、もうさっぱりで泣き出したいぐらいです(つд⊂) どなたか優しい方1から伝授してください。 身勝手な質問だと言うのは分かっていますが、 お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- StarLibra
- ベストアンサー率54% (6/11)
1.ワードファイル内の文書全体にブックマークを設定する。 ワードファイルを開き、文書全体を選択して、「挿入」→「ブックマーク」→適当なブックマーク名を入力して「追加」 2.VBの「プロジェクト」→「参照設定」で「Microsoft Word 9.0 Object Library」にチェックを付けて、「OK」を押す。 ※9.0のところはお使いのWordのバージョンによって数字が変わります。 3.VBのフォームにボタンを1つ配置し、名前を「cmdWord」にする。ボタンをダブルクリックすると出てくるクリックハンドラに下記のようなコードを書く。 ↓ここから 'フォームの変換するボタンを押した時の処理 Private Sub cmdWord_Click() 'Wordアプリケーション用変数 Dim obj As Word.Application 'Wordアプリケーションをセットする Set obj = CreateObject("Word.Application") 'Word文書を開く '「App.Path & "\Doc\text1.doc"」→フォントを変換したいWordファイル名(フルパス) obj.Documents.Open (App.Path & "\Doc\text1.doc") '指定ブックマークの書式を変更する処理 '「bookmark_all」→Wordファイルに指定したブックマーク名 '「MS Pゴシック」→変換したいフォント名 '「12」→変換したい文字サイズ Call BookMarkReplaceRange(obj, "bookmark_all", "MS Pゴシック", 12) 'Word文書を保存して閉じる '「text1.doc」→Wordファイル名(ファイル名のみ) obj.Documents("text1.doc").Close (Word.WdSaveOptions.wdSaveChanges) 'Wordアプリケーションの解放 Set obj = Nothing '終了メッセージ MsgBox "変換終了" End Sub ↑ここまで 4.3のコードの下に下記のようなコードを記述する。 ↓ここから 'ブックマークの書式を変更する処理 Private Sub BookMarkReplaceRange(obj As Word.Application, _ BookmarkName As String, _ FontName As String, _ FontSize As Integer _ ) Dim rng As Word.Range Set rng = obj.ActiveDocument.Bookmarks(BookmarkName).Range rng.Font.Name = FontName rng.Font.Size = FontSize Call obj.ActiveDocument.Bookmarks.Add(Name:=BookmarkName, Range:=rng) End Sub ↑ここまで 5.これを保存してボタンを押すと、 VBのプロジェクトファイルと同じところにある「Doc」フォルダ内にある「text1.doc」という文書内の全ての文字のフォントが「MSPゴシック」、フォントサイズが「12ポイント」に変換されます。 6.後は複数ファイルを処理出来るようにするのと、書式の変換が「フォントの種類」と「フォントサイズ」の変換だけとは限らないので、必要な変換を行うようにすればよいと思います。 下記は、マイクロソフトの公式ドキュメントですので、正確な事が分かるかと思います。 【Wordオブジェクトモデルの概要】 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dv_wrcore/html/wrconwordobjectmodeloverview.asp 【Wordオブジェクトモデルを使用したWordのオートメーション】 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dv_wrcore/html/wroriautomatingwordusingwordobjectmodel.asp 頑張って下さい!!
- Hayashi_Trek
- ベストアンサー率44% (366/818)
プログラムの手順は次のようになります。(1つの文書を修正する場合) 1.Wordオブジェクトを開く。 NETで検索すれば、Excelオブジェクトを開く方法がたくさん見つかるので、それを参考にWord用に変更する。 2.Wordで行いたい作業の、マクロの書き方をコーディングする。 ツールメニューのマクロの記録で、どのような命令を書けば良いのかを取得して、それを参考にVBのコーディングを行う。 3.開いた文書をSaveして、Wordオブジェクトを終了する。
すみませんがVB6の基本操作方法やプログラムの作り方はご存知ですか? Wordファイルの書体変更ですが該当するWordファイルは大量にあるのですか? (10個や20個程度ならプログラムするよりWordでやった方が早いかと、 手作業で一つずつ修正するのとプログラムを作って修正するのでは どちらが早いかなという事です) 書体変更だけならVB6でなくてWordのVBAでも良いのでは?