• 締切済み

ExcelVBAマクロについて確認させてください。

ExcelVBAマクロについて確認させてください。 1)Wordファイルを開く 2)Wordファイルで、あるキーワードを検索してそのキーワードが存在するページを表示する このようなプログラムを作成したいですが、いい案があればご教授いただきたく思います。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

何度質問を出しても、あまり回答はないだろう。 >いい案があればご・・ どういう案があるか、の問題ではないだろう。コードを書いてくれというレベルのことではないのか。 エクセルVBAから入りたい、という質問だが、WordVBA熟達者が少ないと思われ、ワードの解説書も少ないので、ワードのVBAで処理することで我慢したらどうか。 私も以前からWordVBAに関心はあるが、情報が得にくく、20年たっても進歩してない。 ーー  そう言うだけではと思うので、例えばの例を挙げてみる。 WEB記事のコードを応用してみる(インストラクターのネタ帳から。後半修正)。 WordでVBEで、標準モジュールに Sub 文字列を検索してページ番号と行番号を取得する() Const SRCH = "吾輩" k = 1 Dim rng As Range Set rng = ActiveDocument.Range(0, 0) rng.Find.Text = SRCH Do While rng.Find.Execute = True ActiveDocument.Tables(1).Cell(k, 1).Select Selection.Text = rng.Information(wdActiveEndAdjustedPageNumber) & vbTab & _ rng.Information(wdFirstCharacterLineNumber) k = k + 1 Loop End Sub 文章例は、WEBにある、青空文庫の「吾輩は猫である」の最初の3ページほど、をワード文書に、コピーしておく。選んだ理由は何もない。 ーー >例文   吾輩は猫である。名前はまだ無い。例の  どこで生れたかとんと見当(けんとう)がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た。しかもあと・・以下略 ーー その後に、この文書の最後に、挿入ー表ー2列、30行ぐらいの表を手動で作っておく。VBAでもできるが。 そしてVBAを実行。 ーー 結果 やっていることは、「吾輩」という、語句のある、ページと行を表に列挙するもの。 結果で、表の部分は 1 1 1 3 2 1 2 2 2 10 2 11 2 16 2 17 2 19 2 20 3 2 3 3 3 5 3 7 3 8 3 10 3 10 3 13 3 17 以下は略。 ーー エクセルからワードへ、VBAコードで、渡り歩くのは、参照設定や、CreateObjectを使うの例が、WEBにたくさんあるが、十分理解してないと、検索の部分でうまく行かないかもしれない。 ーー もしエクセルの表計算機能がどうしても必要なら、 ワードの表をエクセルに持ってくるのは http://www.atmarkit.co.jp/ait/articles/1603/02/news041.html などに記事がある。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

参考に Sub Test()   Dim objWord As Word.Application 'Microsoft Word 1*.0 Object Library 参照設定   Dim wdDoc As Word.Document   Set objWord = CreateObject("Word.Application")   objWord.Visible = True   objWord.Activate   Set wdDoc = objWord.Documents.Open("F:\文書1.docx")   With objWord.Selection.Find     .Text = "山田" 'キーワード     .Execute   End With   Set objWord = Nothing End Sub

関連するQ&A

  • ExcelVBAマクロについて確認させてください。

    ExcelVBAマクロについて確認させてください。 1)Wordファイルを開く 2)ファイルであるキーワードを検索して、そのキーワードを赤色に塗りつぶす 3)そのWordファイルを別名で保存 3)そのキーワードが存在するページを表示する プログラムを作成したいですが、いい案があればご教授いただきたく思います。

  • ExcelVBAマクロについて確認させてください。

    ExcelVBAマクロについて確認させてください。 添付ファイルのような形式のデータがあり、このデータを使い、積み上げ縦棒のグラフを作成したいです。 次のような条件で作成する方法をご教授いただければと思います。 ・AからFまでの文字は横軸ラベルにしてAAからCCまでのデータは凡例に表示する。(XX~ZZは表示しない) ・サイズは幅600、高さ400 ・位置は左から10、上から500の位置 ・プログラムの最初に既存のグラフをクリア

  • ExcelVBAマクロについて確認させてください。

    ExcelVBAマクロについて確認させてください。 Wordファイルを開いて変数に保存するプログラムを作成したいのですが、下記の「With .Documents.Open(sFullPath)」のところで”型が一致しません。”と表示され、うまくいきません。 この原因は何か考えられるのでしょうか。 回避策をお教えいただければと思います。 Dim sFullPath As Variant Dim moji As String sFullPath = "C:\ドキュメント\test\AAAAA.docx" With CreateObject("Word.Application") With .Documents.Open(sFullPath) moji = .Content.Text .Close End With .Quit End With

  • ExcelVBAマクロについて確認させてください。

    ExcelVBAマクロについて確認させてください。 テキストファイル内の全ての文字を読み込むプログラムですが、テキストファイルがUTF-8形式の場合は文字化けしてしまいます。 UTF-8形式の場合でも読み込める方法はありますでしょうか。 お手数おかけしますが、よろしくお願いします。 Sub test() Dim FSO As Object, buf As String Set FSO = CreateObject("Scripting.FileSystemObject") ''C:\Work\Sample.txtの全ての文字を読み込んで表示します With FSO.GetFile("C:\Work\Sample.txt").OpenAsTextStream buf = .ReadAll MsgBox buf .Close End With Set FSO = Nothing End Sub

  • ExcelVBA のマクロの保存先

    OfficeXPのExcelVBA のマクロ記録の保存先についてお願いします。 保存先に「個人用マクロブック」がありますが、このデータファイルはPCのどこにあるのでしょうか? VBのようにBasで管理したいのですが、「検索」しても見つかりませんでした。 宜しくご教授お願い致します。

  • ExcelVBAマクロでファイル検索してコピー方

    ExcelVBAマクロについて確認させてください。 C:\test\フォルダ内で指定のファイル名(例えばAAA.xlsx)を検索して それをC:\test2\フォルダ下にコピーする方法をご教授くださいm(_ _)m

  • ExcelVBAマクロで数字の入ったセルの削除方法

    ExcelVBAマクロについて確認させてください。 ExcelでA列から行方向にデータが入力されてあり、数字のみ(例:123456、77)で構成されたセルを削除するExcelVBAマクロを作成したいです。正規表現が必要になってくると思いますが、その方法をご教授いただけますでしょうか。 以上よろしくお願いいたします。

  • ExcelVBAマクロ『並べ替え』⇒『重複の削除』

    ExcelVBAマクロについて確認させてください。 いくつかの値がエクセルのB10から下方向に入力されてあります。 この値をExcelの機能である『並べ替え』⇒『重複の削除』をExcelVBAマクロで同様に実行したいのですが、 どのようにすれば良いでしょうか。 ご教授下さい。 以上、よろしくお願いします。

  • ExcelVBAのマクロを使ってテキストファイルの文字を読み込む

    お世話になります 表題のとおりなのですが、ExcelVBAのマクロを使ってテキストファイルの文字を読み込むマクロの書き方を探しています。 具体的には、ExcelVBAで作ったボタンを押すと、あるテキストファイル(TEST.txt)に書かれている文字列をExcelVBAで取得して、それをセルに表示させるものです。 VBA関連のサイトがあまり無く困っています、宜しくお願いします。

  • ExcelVBAマクロでGUIによるファイル名指定

    ExcelVBAマクロについて確認させてください。 下記のようにマクロのあるカレントフォルダに存在するファイルのなかから 読み込みたいファイルの名前を手入力してそれを変数aに読み込ませています。 ですが、この方法ですとユーザがいちいち手入力しなければならず、 ユーザ負担が大きいのと入力漏れおよび入力ミスが発生する恐れがあります。 そこで、マウスでファイルをクリックして指定するように基礎的な操作をマウスによって 行うGUIを作成したいのですが、ExcelVBAマクロで可能でしょうか。 あるいはExcelVBAに導入が可能なソフトウェアおよびそれが可能なソフトウェア があればぜひご教授ください。 以上、よろしくお願いいたします。 ---------------------------------- Sub sample() Dim FN As String Dim FullPathFileName1 As String Dim a As String FN = InputBox("読み込むファイル名を入力してください。(拡張子も含む。)") FullPathFileName1 = ThisWorkbook.Path & "\" & FN a = CreateObject("Scripting.FileSystemObject").GetFile(FullPathFileName1).OpenAsTextStream.Readall a = Replace(a, vbCrLf, "") '改行コードの削除 CreateObject("Scripting.FileSystemObject").GetFile(FullPathFileName1).OpenAsTextStream.Close End Sub