WordVBA

Rangeオブジェクトの場所を目立たせるマクロ(Word)

Rangeオブジェクトの場所を目立たせるマクロ(Word) WordのRangeオブジェクトの場所はわかりにくい WordのVBAでマクロを作っているとき、地味に困るのが、 Rangeオブジェクトがどこを指し示しているのかわからん問題である! Steven Romanさん、ありがとう…

隠し文字を検索してカーソルを移動する(Word)

隠し文字を検索してカーソルを移動する(Word) 隠し文字は表示しないと検索に引っかからない 隠し文字は、編集画面上で非表示になっていると、Findオブジェクトを用いた検索に引っかからない。(もちろん、ふつうに検索ダイアログボックスを用いて検索して…

隠し文字の表示/非表示の切り替え(Word)

隠し文字の表示/非表示の切り替え(Word) 隠し文字の表示/非表示を切り替える 超絶小ネタ。 文字通り、隠し文字の表示/非表示を手軽に切り替えるためのマクロ。 けっこうめんどくさいですからね。(ですよね? 知らんけど。) では、さっそくコードをお…

見出しの配下にある内容を取得する(Word)

見出しの配下にある内容を取得する(Word) 見出しの配下を取得したい 「見出し」というものは、普通、文書の〝意味のあるカタマリ〟ごとに付けるものだと思う。 「見出し」単位で、文書の内容を取り出せたら便利である。 ただ、〝手作業でコピッペする〟と…

WordでMarkdownっぽいことをするマクロ(Word)

WordでMarkdownっぽいことをするマクロ(Word) やりたいこと 先頭に# を付けた段落には、「#」の数に応じた階層の「見出し」スタイルを当てる。 その他の「標準」スタイルの段落には、「本文」のスタイルを当てる。 こういうことがしたい。 仕事柄、文章の…

段落罫線を気軽に追加する(Word)

段落罫線を気軽に追加する 段落罫線を追加するのはめんどくさい 文書に区切りの線を入れたいときがある。 たとえば、 こいつを、 こんなふうにしたいときである。 (あ。「そんなもん、ハイフン三つ連チャンで入力したらいいじゃねえか。タコ!」というツッ…

カーソルが段落の先頭にあると正しい段落インデックスが取得できない(Word)

カーソルが段落の先頭にあると正しい段落インデックスが取得できない [Range].Startプロパティと[Range].[Paragraphs].Countプロパティを用いる方法 Rangeオブジェクトの終端がある段落インデックスを取得する方法は、かつて akashi-keirin.hatenablog…

RemovePersonalInformationプロパティというものがある(Word)

RemovePersonalInformationプロパティというものがある 結論だけ知りたければ、コチラをどうぞ。 前回の方法 文書の「作成者」とか「最終更新者」の情報を消す方法として、前回は、 akashi-keirin.hatenablog.com こういう方法を紹介した。 しかし、これもあ…

RemoveDocumentInformationメソッドというものがある(Word)

RemoveDocumentInformationメソッドというものがある RemoveDocumentInformationメソッド 知らなかった。 Documentクラスのメンバ一覧を「オブジェクト ブラウザー」様で見ていて見つけた。 有名なのだろうか……。 使ってみる 例によって、私がマイPCで文書を…

文書の「作成者」を書き換える(Word)

文書情報を書き換える BuiltInDocumentPropertiesプロパティ 私は、Microsoftアカウントを、実にふざけた名前で登録してしまっている。 だから、自宅のPCで作成したドキュメントをもとに、仕事で使うドキュメントを作成したときなんかには、「作成者」とか「…

CharacterUnitFirstLineIndentプロパティ、おまえだったのか……(Word)

CharacterUnitFirstLineIndentプロパティ、おまえだったのか。いつもくりをくれたのは。 ついさきほど、 akashi-keirin.hatenablog.com こんなことを書いたところだが、マルちゃん麺づくりばりにあっさり解決したので、報告。 CharacterUnitFirstLineIndent…

字下げインデントを解除できない?(Word)

字下げインデントを解除できない? 実に不可思議な現象に出くわしたのでメモ。 なお、未解決である。 字下げインデントを解除する方法 段落の字下げインデントを司っているのは、ParagraphFormatオブジェクトのFirstLineIndentプロパティ。 理屈の上では、コ…

Document.SaveAs2メソッドでドキュメントを量産する(Word)

[Document].SaveAs2メソッドでドキュメントを量産する(Word) 同じ内容のドキュメントを、名前だけ変えて量産したい。 準備 まず、元になるドキュメント(笑)を準備する。 こいつを、ファイル名を変えて別のフォルダに保存する。 フォルダ構成は、 こんな…

段落の末尾に文字列を追加する(Word)

段落の末尾に文字列を追加する(Word) 単なる個人的な覚え書き。 段落の末尾に文字列を追加するぐらい、簡単にできると思っていたが、意外に苦戦したので、記録として残しておく。 手っ取り早く結論だけ知りたい方はコチラ以降をどうぞ。 このようなドキュ…

VBAでRangeオブジェクトの場所に連番フィールドを挿入する(Word)

VBAでRangeオブジェクトの場所に連番フィールドを挿入する(Word) ちょっとした覚書。 Fields.Addメソッドでフィールド追加 文書内にフィールドを追加するには、Fields.Addメソッドを使う。(参考) Fields.Addメソッドには、引数が四つ。 Range Type Text …

下線(傍線)を施した部分のRangeオブジェクトを取得するFunction(Word)

下線(傍線)を施した部分のRangeオブジェクトを取得するFunction(Word) なんとなく、役所広司ばりにチャチャっと作ってみた。 ソースコード リスト1 Public Function GetNextUnderlinedRange( _ Optional ByVal a_LineStyle As WdUnderline _ = wdUnderl…

テキストボックス挿入の自動化(Word)

テキストボックス挿入の自動化(Word) 表題のとおり、Wordの文書内にテキストボックスを挿入する作業を自動化したくなったので、やってみた。 きっかけとお題 きっかけ 文字ばっかりのPowerPointスライドを図として挿入するのに、画像で入れてしまったら、…

【意味】Paragraphオブジェクトの謎挙動【不明】(Word)

【意味】Paragraphオブジェクトの謎挙動【不明】 WordのVBAで、ParagraphオブジェクトのRange.Textプロパティを書き換えたら、わけのわからないことが起こったので報告。 もとの文書 もとのWord文書は、 このとおり。何の変哲もない、至ってフツーのドキュメ…

VBAで文書にインライン画像を挿入する(Word)

VBAで文書に画像を挿入するときの注意 最近、Wordでマニュアルとか手順書の類を作成することがやたら増えた。 PDF配布を前提とすると、画像をふんだんに盛り込むことができるので、非常に良いのだが、当然画像の挿入が非常にめんどくさくなってくる。 そこで…

VBAで段落前後のスペースを操作する(Word)

VBAで段落前後のスペースを操作する(Word) 軽くハマったので報告。 何がしたかったか Googleフォームで集めたアンケート結果の自由記述の部分をWordに移して整形したかった。 ただずらずらと並べただけだと読みづらいので、一人分づつ記述の間にスペースを…

挿入した画像に図表番号を挿入するマクロ(Word)

文書に挿入した画像にマクロで図表番号を付ける(Word) 最近、やたらマニュアルの類を作成している。 スクリーンショット等の画像を貼り付けた文書を作成することがやたら多くなったのだが、いちいち図表番号を入れるのが面倒になってきた。 ……となると、当…

画像に枠線を施すマクロの書き換え(Word)

画像に枠線を施すマクロの書き換え 前回 akashi-keirin.hatenablog.com 枠線を消すマクロで、[InlineShape].Lineプロパティ(=LineFormatオブジェクト)を用いたので、枠線を施す方も[InlineShape].Lineプロパティを用いる方法に書き換える。 akashi-keirin…

画像の囲み線を消すマクロ(Word)

画像の囲み線を消すマクロ(Word) 前回 akashi-keirin.hatenablog.com の最後のところで、 逆に、画像に施した枠線を除去するマクロの書き方がわからない。 誰か知っている人がいたら教えろ教えてください。 などと言っていたが、とりあえずやり方はわかっ…

印刷マクロでちょっとハマる(Word)

印刷マクロでちょっとハマる(Word) フォルダ内にたくさんあるWordドキュメントの先頭ページだけを印刷する必要があって(どんな「必要」やねん。)、 ちょろっとマクロ書いて片付けるか! と意気込んで始めたにもかかわらず、ちょっとハマったので、報告。…

傍点マクロの改良(Word)

傍点マクロの改良 目次 傍点マクロのイマイチなところ 傍点マクロを改良する 使ってみる 終わりに 傍点マクロのイマイチなところ akashi-keirin.hatenablog.com このときに紹介した傍点マクロ。 便利だと思っていたが、ショートカットキーでサクッと使えるよ…

文書内に挿入した画像に枠を付ける(Word)

文書内に挿入した画像に枠を付ける Wordの文書内に挿入した画像に枠囲いを付けるのは、結構めんどくさいので、枠で囲うマクロを作った。 こんなことができます Wordの文書内に挿入した画像に、ワンクリックで囲みを付ける。ただ、それだけ。 目次 画像に枠囲…

傍点マクロをNormal.dotmに書く(Word)

傍点マクロをNormal.dotmに書く 傍点マクロをNormal.dotmに書く 前回 akashi-keirin.hatenablog.com 作成した傍点マクロ。私は文書作成時にやたらと傍点を使う(というよりは、私の尊敬する書き手が皆一様によく傍点を使うため、引用するときにやたら傍点を…

選択箇所に傍点を施す(Word)

選択箇所に傍点を施す 選択箇所に傍点を施すマクロ 選択箇所に傍点を施すのはめんどくさい 選択箇所に傍点を施すのは実にめんどくさい。 仮に、リボンのタブが「ホーム」にある状態からでも、 対象範囲を選択し、 「フォント」グループの「ダイアログボック…

段落単位で置換できる(Word)

段落単位で置換できる Wordで、特定の範囲だけ置換したかった。 目次 標準機能による置換 Find.Executeメソッドによる置換 段落単位でFind.Executeメソッドを使う おわりに 標準機能による置換 普通、置換はこうする。 画像中に示した、「《 》」でくくられ…

Wordの表の中の文字列

Wordの表の中の文字列 けったいな現象が起こったので報告。 表の中の文字列 Wordドキュメント上に、次のような表を作成する。 で、次のコードで表の左上端セルの文字列を取り出してみる。 リスト1 標準モジュール Private Sub test() Dim tbl As Table Set …