WordのVBAを使ってみたい


集計業務で使用するため(数値ではなく文字)WordのVBAを使用したいと思っています。
ExcelのVBAでは解説サイトやサンプル集が多数発見できるので、わからなかったら検索しながら構築していくことが可能です。
まだやろうと思ったタイミングなんでなんとも言えませんが、WordのVBAの解説サイトがほとんど見つかりません。
心が折れかかっているのでご教示していただきたいのですが…

1.Word文書の最初の1文字目にカーソルを移動させる
2.任意の位置にカーソルを移動させる
3.文字カウントの結果を数式の中で使う

この3つを行いたいと思っています。
実現可能でしょうか?
実現可能な場合、コードをご教示下さい。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2016/03/10 13:46:31
  • 終了:2016/03/17 13:50:03

回答(1件)

id:nanacy7741 No.1

味わい回答回数81ベストアンサー獲得回数82016/03/11 11:11:16

Sub Macro1()

Dim buf As String
Dim res As String

buf = InputBox("カウントしたい単語を入力してください")
res = CountWord(buf)
MsgBox (res)
End Sub

Function CountWord(WordWantToCount As String) As Long

Dim cnt As Long
With ActiveDocument.Range(0, 0).Find
.Text = WordWantToCount
Do While .Execute
cnt = cnt + 1
Loop
End With

CountWord = cnt

End Function


とりあえずカウントした数はポップアップに出力しました。

  • id:language_and_engineering
    こんにちは。
    Word VBAは情報源が少ないですよね。


    ・Wordのバージョンを教えていただけますか?(2010?)


    ・「集計業務で使用するため(数値ではなく文字)」
    →具体的に言うと,
    Wordファイルの中で,特定の語句が出現した回数をカウントするイメージでしょうか?


    ・「文字カウントの結果を数式の中で使う」
    →Word VBAで文字カウントの結果を算出した後で,
    数式からその値を参照したいということでしょうか?

    利用シーンのイメージ,代替手段などのイメージがわきにくいのですが
    その数式で,どんな計算をなさるのでしょうか?
    数式を使わず,数式の部分をWord VBAで置き換えて,マクロのみで統一することになりそうですが・・・。
  • id:keijun5145
    バージョン
     →Word 2010です。

    特定の文字列が出現した回数
     →その通りです。

    ※文字数をカウントして最終文字の次の文字として改行コードを挿入したいと思っています。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません