WordVBA

選択範囲のルビを除去する(Word)

選択範囲のルビを除去する 青空文庫(HTML版)からWordに文章をコピペすると、 こんなふうに、むやみやたらとデカいルビが設定されていて、レイアウトがめちゃくちゃになる。 ルビのサイズを小さくすることも考えたが、ひとまず選択範囲のルビを除去する方向…

「写経」用教材を作成する(Word)

「写経」用教材(?)を作成する Wordの「原稿用紙設定」機能 『一太郎』では、「文書スタイル呼び出し」(?)という機能で、コクヨ社の原稿用紙の書式を呼び出すことができる。んで、印刷するときに「升目を印刷する」というチェックボックスにチェックを…

Sentencesコレクションの要素の一番最初の「文字」が何文字目かを調べるFunction(Word)

Sentencesコレクションの要素の一番最初の「文字」が何文字目かを調べるFunction 分かりにくいタイトルですまぬ。 文の最初の文字の位置を調べたい。たとえば、 「……『ち~んw』とか言うな!」と言った。 みたいなときに、最初の文字「ち」の位置が知りたい…

記号は黒字、文字は白字にするマクロ

記号を黒字、文字を白字にする 前回 akashi-keirin.hatenablog.com を用いて、記号は黒字に、文字は白字にするメソッドを作った。 コード コードは次の通り。 リスト1 標準モジュール Private Sub changeFontColor(ByVal targetFont As Font) '……(1)' If is…

文章の中で使われる記号かどうかを判定するFunction(Word)

文章の中で使われる記号かどうかを判定するFunction ちょっとやってみたいことがあって、標題のようなFunctionを作ってみようと思い立った。 以前、 akashi-keirin.hatenablog.com 文字が漢字かどうかを判定するFunctionを作ったときは、ある意味非常に簡単…

SentencesコレクションとCharactersコレクション(Word)

SentencesコレクションとCharactersコレクション SentencesコレクションとCharactersコレクションって、ちょっと変わっているよな、というだけの話。 Sentencesコレクションの要素はSentenceオブジェクトに非ず たとえば、コード・ウインドウ上で、 Dim targ…

カーソルを任意の位置に置く(Word)

カーソルを任意の位置に置く たぶんWord2010のバグだと思うのだけれど、均等割付を施したところに差込フィールドがあると、差し込まれた後に字幅がおかしくなる。 職場のPCでしか遭遇しない症状なので、画像でお見せできないんだけれど、データが差し込まれ…

Wordの「スタイル」をVBAで操作する(3) (Word)

「標準」スタイルのフォントを変更するメソッド 前回 akashi-keirin.hatenablog.com のつづき。 一発で「標準」スタイルのフォント設定を変更することができるようなマクロを作ってみる。 リスト1 標準モジュール '///標準スタイルのフォントを設定する' Pu…

Wordの「スタイル」をVBAで操作する(2) (Word)

「標準」スタイルのフォントを変える 前回 akashi-keirin.hatenablog.com のつづき。 ウチの環境では、Document.Styles(194)で「標準」スタイルにアクセスできるのだった。 Style.Fontオブジェクト MSDN Dev Centerの「Style Members (Word)」によると、フォ…

Wordの「スタイル」をVBAで操作する(Word)

Wordの「スタイル」をVBAで操作する ウチの職場には、書類の英数字は等幅という謎ルールがある。 まあ、位置が揃わないのが嫌なのはなんとなく分かる。 ただ、「スタイル」という機能を知らずにWordを使っている人がほとんど(目測で9割以上)なので、 文書…

Document_Closeイベントで差込データソースとの接続を切断する

Document_Closeイベントの挙動 差し込み印刷の設定をしているドキュメントは、一旦閉じると、次回起動時に自動的に前回接続していたデータソースに接続しようとする。 これはこれで親切機能なのだが、何も知らない人が差し込み設定をしたドキュメントを別の…

STARTUPフォルダの中に置くのはショートカットでいい[Word]

STARTUPフォルダに置いておくのはショートカットでいい STARTUPフォルダに置くマクロ入りテンプレート しょっちゅう使うマクロをアドインにする、というワザを割と最近覚えたんだけれど、 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com Wordの…

ファイル名を変えて保存する[Word]

Wordドキュメントの名前を変えて保存する SaveAs2メソッドとNameステートメントの処理をラップする イメージとしては、 「名前を付けて保存」でファイル名を変えて別フォルダに移す処理 元のファイルを別のフォルダに移す処理 をいっぺんにやってしまう、と…

フォルダ選択ダイアログを表示させるFunction

フォルダを選択させてフォルダパスを取得するFunction ファイルをリネームするマクロを作るにあたり、保存先をその都度選べるようにした方が汎用性が高いと思ったので、Functionにしてみようと思った。 すでに akashi-keirin.hatenablog.com このときにクラ…

Wordの表から文字列を取り出すFunction

Wordの表の文字列を取得するFunction Wordの表の文字列を取得する 「書類の電子化」と言いつつ、 単に紙をWordとかにしただけ という凶悪な職場はいまだに一定の数存在すると思う。 んで、いろんなところからWordドキュメントが集まってくるわけだが、そんな…

WordVBAで処理に使うデータを外部化する

指定した文字列のフォントを狙い撃ちで変えるマクロの改良 データを外部ファイル化する たとえば、明朝体で書かれた文書のうち、特定の語句だけを狙い撃ちでゴシック体にしたい、というときには、 ゴシック体に変えたい語句(X) と、 Xを含んでいるけれどゴ…

テキストファイルからテキストを読み込んで配列化するFunction

テキストファイルを読み込んで文字列を行ごとに配列化するFunction テキストファイルを開いて読み込む VBAエキスパート公式テキスト ExcelVBAスタンダードの217ページによると、 テキストファイルを開くには、Openステートメントを使います。(中略)テキス…

VBAでテキストファイルを生成する

VBAでテキストファイルを生成する FileSystemObjectオブジェクトを使う 「VBAからテキストファイルって生成できるんかな?」と思ってggってみたら、コチラでFileSystemObjectオブジェクトのCreateTextFileメソッドを使う方法が紹介されていた。 曰く、 FileS…

指定した文字列のフォントを狙い撃ちで変えるマクロ[Word]

Wordで指定した文字列だけ狙い撃ちでフォントを変えるマクロ 文字列単位でフォントを変える 1文字単位でフォントを変える、というのは過去にやったことがあるが、それだと巻き添えで関係のないところまでフォントが変わってしまうので、ちょっとメンドクサ…

フォントが存在するかどうかを判定するFunction [Word]

指定したフォントの存否を調べるFunction 指定したフォントが存在するかどうかをどうやって調べるのか だいぶ前に、超有名なOffice TANAKA さんのサイトで、 フォントの一覧を取得するマクロ というものを見たことがあった。 んで、単純にこれをWordに移植で…

差込データソースとの接続をVBAで行う(2)

差込印刷のデータソースとの接続をVBAで行う Openイベントで接続する 差込印刷機能というのは非常に便利なので、Wordスキルがど素人のレベルでも使っている人は非常に多いと思う。私もそのクチ。ただ、データソースとの接続回りが非常に素人には分かりづらく…

差込データソースとの接続をVBAで行う

VBAで差込印刷のデータソースに接続する 差込印刷データソースの指定 以前、差込印刷のレコードごとにWordファイルを生成するということをやったことがあった。 akashi-keirin.hatenablog.com これはこれで、メチャクチャ便利で、重宝しているんだが、フォル…

VBAでテキストボックスのレイアウト設定を操作する

ことごとく「背面」になっているテキストボックスェ…… 業務で引き継いだWordドキュメントがカオス…… 業務でWordドキュメントを引き継いだ。 で、そのWordドキュメントってのがひどいやつで、 40個ぐらい配置されているテキストボックスのレイアウトがことご…

タブ幅やタブ位置をVBAから設定する

VBAからタブを設定する 既定のタブ幅をVBAで操る タブ幅の設定って、結構めんどくさいなあと思っていた。んで、何とかVBAで操作できないものか、とちょっとggってみたんだが、これというものが見つからず(調べ方が悪いだけだと思うけど)、ちょいとマクロ記…

乱数を格納した配列を保持するクラスを作ってみた

乱数を格納した配列を保持するクラス クラスへの移行 前回の akashi-keirin.hatenablog.com で、乱数を格納した配列を作るFunctionを作った。 実は、追記のところで、型指定でVariantを使うブサイクさ問題は解決ずみなんだが、乗りかかった船なのでやってお…

乱数を格納した配列を作るFunction

文字をランダムに並べ替える 乱数を作るのはめんどくさい ランダムに並べ替えるという作業をするときには、乱数を発生させて使えば良いのだが、毎度毎度乱数を発生させる処理を書くのは正直メンドクサイ。 最大数を与えたら、1~最大数をランダムに並べて配…

WordドキュメントのPDF化ツール――だいぶ本格的になりました

自作ツール「かんたんPDF変換」 3種類のPDF変換をこなすツールを自作した akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com 上記の記事で、Wordドキュメントを編集中にサクッとPDF化するマクロを作ったわけだが、 いっそちゃんとしたツールとし…

Wordドキュメントの編集中のページをサクッとPDF化する

WordドキュメントのアクティブなページのみPDF化 以前、 akashi-keirin.hatenablog.com コチラの記事で、クリック一発で編集中のドキュメントをPDF化するマクロを紹介した。 今回は、題名のとおり、 現在アクティブなページのみPDF化 するマクロを考える。 …

編集中のWordドキュメントをサクッとPDF化するアドイン

素早く手軽にPDF化 WordドキュメントのPDF化 大量のWordドキュメントを自動でPDF化する、というのは、かなり前に対応済みだった。 akashi-keirin.hatenablog.com Wordドキュメント1つとか2つだけをPDF化する、などというシチュエーションはほとんどなかっ…

ゼロ埋め番号文字列を作る関数を自作した

ゼロ埋め番号を作る関数 調子に乗って関数化 こいつら akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com をもとに、最大数に応じてゼロ埋め数字の文字列を返す関数を作ってみた。 仕様 書式 createNumberFilledByZero(最大数 , 対象数) 第1引数…