Quantcast
Channel: いつも隣にITのお仕事
Viewing all 2091 articles
Browse latest View live

Word VBAで作成したマクロをショートカットキーに登録する方法

$
0
0
keyboard-shortcut

photo credit: the_green_squirrel week 19 – keyboard change of clothes via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者向けにWord VBAで便利な文字入力をするマクロの作り方をお伝えしています。

前回の記事はこちら!

Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
初心者向けにWord VBAで様々な文字入力をするマクロの作り方をお伝えしています。今回は、Word VBAのinsertBeforeメソッド、insertAfterメソッドで選択範囲の前後に文字列を挿入する方法です。

選択範囲の前後に文字列を挿入する方法についてお伝えしました。

なんやそれ?って感じですが、要は「—– ここから —–」~「—– ここまで —–」みたいなやつです。

ただ、いちいち「開発」タブの「マクロ」を選択するのも億劫ですよね…Word文書で入力作業をしながら、ホイホイ使いたいものです。

ということで、今回は文書入力しながらホイホイ使うために、Word VBAで作ったマクロをショートカットキーに登録する方法をお伝えします!

では、行ってみましょう。

ショートカットキーに登録するマクロ

今回、ショートカットキーに登録したいマクロはこちらです。

Sub insertText()

Selection.InsertBefore "----- ここから -----" & vbCr
Selection.InsertAfter "----- ここまで -----" & vbCr

End Sub

前回の記事で作成をしたもので、InsertBefore、InsertAfterメソッドを駆使して、Word文書の選択範囲の前に「—– ここから —–」、選択範囲の後に「—– ここまで —–」を入力するマクロです。

例えば、以下のようにWord文書の一部の範囲を選択しているとします。

Word文書でimgタグの段落を選択

その状態で、上記マクロを実行すると、以下の図のようになるというわけです。

Word VBAのinsertAfterメソッドで文字列と段落記号を挿入

これを、文書にガンガン入力作業をしている端から、範囲選択後に即ショートカットキーで動作させていきたいというわけです。

Wordマクロをショートカットキーに登録する

では、このマクロをショートカットキーに登録していきましょう。VBEは全然使いませんで、Wordのオプションで設定をしていきます。

Wordの「ファイル」メニューから「オプション」を選択します。

Wordのオプションを開く

おなじみの(?)「Wordのオプション」ウィンドウが開きますので、「リボンのユーザー設定」→「ショートカットキー:ユーザー設定」と進みます。

Wordのオプションウィンドウでショートカットキーのユーザー設定

続いて「キーボードのユーザー設定」ウィンドウが開きます。

まず、ウィンドウの左上のエリアにある「分類」のリストから「マクロ」を探して選択(けっこう下のほうにありますよ)、次に「保存先」のリストダウンからショートカットキーを登録するマクロを保存しているdocmファイルを選択します。

Wordのキーボードのユーザー設定でマクロと保存先を選択

すると、右側の「マクロ」のエリアに、docmに保存してあるマクロ一覧が表示されます。

その中からショートカットキーに登録したいマクロ名を選択(今回は「insertText」ですね)し、「割り当てるキーを押してください」のところにカーソルを当てて、割り当てたいショートカットキーを入力してみます。今回は「Insert」なので Alt + I としてみました。

Wordのキーボードのユーザー設定でマクロと割り当てるキーを入力

「現在の割り当て」というところに「[未定義]」と表示されていますね。

このキーの組み合わせには、今のところ何の設定もされていないから安全ということです。安心して「割り当て」ができるというものです。

Wordのキーボードのユーザー設定でマクロをキーに割り当てる

すると、「現在のキー」に登録したショートカットキーが表示されます。

Wordのキーボードのユーザー設定でマクロをショートカットキーに割り当てた

これでマクロがショートカットキーに割り当て完了ということになります。

ショートカットキーに登録したマクロを使う

では、さっそくショートカットキーに登録したマクロを使ってみましょう!

Word文書に戻って、範囲を選択してショートカットキー Alt + I !!

Word VBAで作成したマクロをショートカットキーで動作

おお…瞬殺ですね!!

これはとっても便利そうですよ。

まとめ

以上、Word VBAで作成したマクロをショートカットキーに割り当てる方法についてお伝えしました。

マクロさえ作ってしまえば、Wordのオプションから登録することができます。

今回は、選択範囲の前後に文字列を挿入するマクロをショートカットキーに割り当てましたが、ほかのマクロを作ってほかのショートカットキーに割り当ててもよいですし、ショートカットキーでフォームを表示してその中からボタンを選択して動作…みたいな機能も便利かも知れませんね。

次回以降、このマクロをさらにパワーアップさせていきたいと思います。

どうぞお楽しみに!

連載目次:初心者向けWord VBAで文字入力をしてみよう

お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。
  1. Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
  2. Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
  3. Word VBA初心者がまず押さえておくべき段落記号の入力方法
  4. Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
  5. Word VBAで作成したマクロをショートカットキーに登録する方法

Word VBAを使うなら知っておくべき「段落」の話とその操作方法

$
0
0
paragraph

photo credit: Eva the Weaver 12 via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者向けのWord VBAのシリーズということで便利な文字を入力するマクロの作り方をお伝えしています。

前回の記事はこちら。

Word VBAで作成したマクロをショートカットキーに登録する方法
初心者向けにWord VBAで便利な文字入力をするマクロの作り方シリーズ。今回は文書入力しながらサクサク使うために、Word VBAで作ったマクロをショートカットキーに登録する方法をお伝えします!

Word VBAで作成したマクロをショートカットキーに設定する方法をお伝えしました。

これで、文書を作りながらガンガンマクロの活用ができるというもの…!

と思いきや、これまで作ってきたマクロですが、状況によってうまく動作しないときがあるのです…。

それを解決するためには、Wordでいうと非常に重要な概念である「段落」、Word VBAで言うところのParagraphオブジェクトについて理解をする必要があります。

今回は、Word VBAで段落を表すParagraphオブジェクトとは何かについてお伝えしていきます。

文字列を挿入するWordマクロ

前回までに作ったマクロですが、選択範囲の前後に文字列を挿入するというものです。

百聞は一見にしかず、こちらのアニメをご覧ください。

Word VBAで作成したマクロをショートカットキーで動作

素敵ですね。

実際のコードはこちら。

Sub insertText()

Selection.InsertBefore "----- ここから -----" & vbCr
Selection.InsertAfter "----- ここまで -----" & vbCr

End Sub

もう連載6回目なのに、たったの二行…Word VBA深いですね。

うまく動作してくれない例

さて、このマクロなのですが、一部の状況において、うまく動作をしないことがあります。

例えば、以下のように箇条書きスタイルになっている段落を選択範囲としている場合です。

Wordで箇条書きの範囲を選択

この状態でマクロを実行すると…以下のように、InsertBeforeメソッドで挿入した段落にも箇条書きスタイルが適用されてしまっています。スタイル適用されなくていいのに…。

Wordで箇条書きの範囲を選択に対してマクロ実行

別の例もあります。

以下図のように、段落の冒頭がインデントされている段落を選択範囲としているときです。

Wordでインデントの段落を選択

この状態でマクロを実行すると、これまたInsertBeforeで挿入した段落にインデントが適用されてしまっています。インデントされなくていいのに…

Wordでインデントの段落を選択してマクロを実行

Wordの文字書式と段落書式

これの現象を解決するためには、Wordの「段落」について理解をしておく必要があります。

Wordでの書式設定は、実は2種類あります。フォントの種類、フォントのサイズ、太字や下線などは、文字単位で設定をする「文字書式」と言われています。一方で、スタイル(箇条書き、見出しなど)、インデント、配置などは、段落単位で設定する「段落書式」です。

つまり、段落書式を変更したいなら、段落を操作するのですよ。

この違いを理解せずに、全部文字単位で書式設定できちゃうと勘違いしていると、Wordはかなり使いづらいですし、当然ながらWord VBAの習得も大変です。

今回の例では、スタイルやインデントを調整したいわけですから、この場合もVBAで段落書式を操作していきたいということになります。

Paragraphsオブジェクトを操作する

Wordの段落を取り扱うにはParagraphオブジェクトを使います。

Paragraphオブジェクトについてイメージをつかむために

  • 現在の文書から段落を取得
  • 特定の段落の配置を変える

という処理をしてみたいと思います。

では、以下コマンドをイミディエイトウィドウで入力して Enter してみましょう。

ThisDocument.Paragraphs(3).Alignment = wdAlignParagraphCenter

ちょっと長いですが、それぞれちゃんとメンバー補完が効きます。困ったら Ctrl + Space ですよ~。

さて、これを実行すると以下のように、一つの段落が中央揃えになりました。

Wordでインデントの段落を選択してマクロを実行

ドキュメント全体の段落を取得する

先ほどの命令を解説していきましょう。

まず、ThisDocumentは現在マクロを記述しているドキュメントを表すオブジェクト名です。かなり便利によく使うと思いますので、覚えておきましょう。

次いで、そのドキュメントについてのParagraphsコレクションをつかんでいます。

Documentオブジェクト.Paragraphs

コレクションは同種のオブジェクトの集合ですから、これで現在のドキュメントに含まれる全ての段落を集合として取得したということです。

段落の配置を変更する

コレクションの要素には、インデックス番号という1から始まる整数が振られています。

Paragraphsコレクションに対して、インデックス番号を指定してParagraphオブジェクトを取得するには

Paragraphsコレクション(インデックス番号)

とします。今回の例では、インデックス番号3のオブジェクトをつかんだということですね。

また、段落の配置を変更するには、ParagraphオブジェクトのAlignmentプロパティを設定します。

Paragraphオブジェクト.Alignment = 配置

配置に関しては以下の定数を参照ください。補完が効くとはいえ…長い。

定数 配置
wdAlignParagraphLeft 左揃え
wdAlignParagraphCenter 中央揃え
wdAlignParagraphRight 右揃え
wdAlignParagraphJustify 両端揃え
wdAlignParagraphDistribute 均等割り付け

Paragraphsコレクションのインデックス番号

今回、インデックス番号が3の段落を中央揃えしたわけですが、よーく文書を眺めると、なんとなく気づくのですが、Paragraphsコレクションのインデックス番号は文書の最初から順番に振られているんですね。

つまり、以下のようなナンバリングです。

Word文書のParagraphオブジェクトのインデックス番号

この特性を利用すれば、段落操作も楽になるというものです。

まとめ

今回は以上ですが、Word VBAでの段落の考え方と操作について、ある程度イメージができたのではないかと思います。

  • Wordの書式には文字書式と段落書式がある
  • 段落操作にはParagraphオブジェクトを使う
  • Paragraphsコレクションは上から順にインデックス番号が振られている

などといったことが今回のポイントです。

では、次回は選択範囲の中の段落について操作をしていきたいと思います。

どうぞお楽しみに!

連載目次:初心者向けWord VBAで文字入力をしてみよう

お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。
  1. Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
  2. Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
  3. Word VBA初心者がまず押さえておくべき段落記号の入力方法
  4. Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
  5. Word VBAで作成したマクロをショートカットキーに登録する方法

Word VBAで選択範囲の最初の段落&最後の段落を取得する方法

$
0
0
underline

photo credit: owly9 Studying via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者向けWord VBAを使って便利な入力ツールを作る方法をお伝えしています。

前回の記事はこちら。

Word VBAを使うなら知っておくべき「段落」の話とその操作方法
初心者向けのWord VBAのシリーズということで便利な文字を入力するマクロの作り方をお伝えしています。Word VBAで段落を表すParagraphオブジェクトとその操作方法についてお伝えしていきます。

Word VBAでの段落とその操作方法についてお伝えしました。

今回は、その続きになりますが、Word VBAで選択範囲の中から最初の段落と最後の段落を取得する方法をお伝えします。

つまり、SelectionオブジェクトからParagraphコレクションを取得して、その最初と最後のParagraphオブジェクトを取得するということですね。

また、段落内のテキストの取得をする方法も押さえておきたいですね。

では、行ってみましょう!

選択範囲の段落を取得する

選択範囲を表すオブジェクトはSelectionオブジェクトです。

選択範囲内の段落を集合として取得するには、以下のようにすればOKです。

Selection.Paragraphs

これで、選択範囲に含まれる段落の集合をParagraphsコレクションとして取得することができます。

取得したParagraphsコレクションに含まれる段落のインデックス番号は1から始まり、上から順に振られていきます。

例えば、以下のようにめちゃめちゃな範囲選択をしていても、選択範囲の開始位置がある段落のインデックス番号が1、選択範囲の終了位置がある段落のインデックス番号が最後となり、この例では4となります。

Wordの選択範囲のインデックス番号

最初の段落を取得するには

Selection.Paragraphs(1)

とすれば、選択範囲のうち最初の段落を取得することができます。

段落内のテキストを表示する

では、試しに取得した段落の文字列を出力してみましょう。

Wordの任意の範囲を選択しつつ、イミディエイトウィンドウに以下のように入力して Enter してみてください。

?Selection.Paragraphs(1).Range.Text

イミディエイトウィンドウには、以下のように表示されました。

Word VBAで段落の文字列を表示する

命令的には

?Selection.Paragraphs(1).Text

としたくなりますが、これはダメです。Paragraphオブジェクトは段落を表していますが、範囲についての情報を持っていません。

Word VBAにおいて範囲はRangeオブジェクトが担当をしています。範囲がなければ文字列もないのですよ。

でも、Paragraphオブジェクトからその範囲を取得することはできますので、まずRangeプロパティで段落の範囲を取得してから

Paragraphオブジェクト.Range

その範囲内のテキストをTextプロパティで取得する

Rangeオブジェクト.Text

という段取りになります。

選択範囲の最後の段落を取得する

選択範囲の最初の段落については、インデックス番号1を使えば簡単に取得できますが、最後の段落はどのように取得しましょうか。

最後の段落数は、Paragraphsコレクションの要素数と等しいですから、Countプロパティを使えばよいですね。

Paragraphsコレクション.Count

この値がそのまま最後の段落のインデックス番号になります。

例えば、このようなプロシージャを用意しました。

Sub printParagraphs()

Dim cnt As Long
cnt = Selection.Paragraphs.Count

Debug.Print Selection.Paragraphs(1).Range.Text
Debug.Print Selection.Paragraphs(cnt).Range.Text

End Sub

Word文書で適当に範囲選択をしておいて…

Wordで範囲選択

プロシージャを実行すると、以下のようにイミディエイトウィンドウに出力がされます。

Word VBAで選択範囲の最初と最後の段落の文字列を出力

選択範囲は段落の途中からとかめちゃめちゃであったとしても、ちゃんと最初の段落と最後の段落がきれいに出力されていますね。

まとめ

以上、Word VBAで選択範囲から最初の段落と最後の段落を取得する方法をお伝えしました。

Paragraphコレクションで集合として取得して、

  • 最初の段落:インデックス番号が1
  • 最後の段落:インデックス番号がコレクションの要素数

ということで取得をすることができます。

また、段落に含まれる文字列を取得する方法をお伝えしました。段落は範囲の情報を持ちませんので、いったんRangeプロパティで範囲を取得してから、Textプロパティで文字列を取得という流れでしたね。

では次回、今回学んだことを、選択範囲の前後に文字列を挿入するマクロに活かしていきたいと思います。

どうぞお楽しみに!

連載目次:初心者向けWord VBAで文字入力をしてみよう

お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。
  1. Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
  2. Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
  3. Word VBA初心者がまず押さえておくべき段落記号の入力方法
  4. Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
  5. Word VBAで作成したマクロをショートカットキーに登録する方法
  6. Word VBAを使うなら知っておくべき「段落」の話とその操作方法
  7. Word VBAで選択範囲の最初の段落&最後の段落を取得する方法

Googleスプレッドシートで関数を使って簡単に収支報告書を作ってみた

$
0
0

google,スプレッドシート,収支報告書,共有,eyecatch

皆様こんにちは、ノグチです。

前回は、私が所属しているスポーツサークルの会計管理をサンプルにして、Googleスプレッドシートで超簡単な収支表の作り方をご紹介しました。

スマホからの入力も可能!Googleスプレッドシートで超簡単に収支表を作成してみた
紙管理だった収支表を、Googleスプレッドシートに置き換えました。そこに至るまでの経緯と、Googleスプレッドシートで簡単な収支表を作成する方法をご紹介しています。Googleスプレッドシートで作成すれば他のメンバーと共有できるほか、スマホからの照会や入力も可能です。

今回は、前回作成した収支表から、関数を使って、これまた簡単にシンプルな収支報告書を作成する方法をご紹介します!

収支表から収支報告書を作る

まずは、前回ご紹介した収支表がこちらです。
google,スプレッドシート,収支表,サンプル

よくある収支表の超シンプル版といった感じですね。

この収支表はパソコンからだけではなく、スマートフォンからの入力・編集に重きを置いたこともあって、あえて項目は少なくしています。(できるならもっと削りたい!)

今回は、この収支表のデータを関数を使ってこちらの収支報告書にしていきます!
google,スプレッドシート,収支表報告書

収支報告書の項目を作る

まずは、収支報告書の項目を記入していきましょう。

収支表と同じスプレッドシートに新しいシートを追加します。

スプレッドシートの左下にある「+」をクリックするか、メニューの「挿入」から「新しいシート」をクリックすれば、新しいシートが追加されます。

google,スプレッドシート,収支表報告書,シート追加,+
google,スプレッドシート,収支表報告書,シート追加,メニュー

追加したシートに、収入の部にしたい費目と、支出の部にしたい費目をそれぞれ記入していきます。

前回の記事で作成した収支表では、収支報告書に表示したい費目をすべてD列のドロップダウンリストから選択できるようにしていますので、収支表のドロップダウンリストの値をそのまま、収入と支出の費目に分けて入力します。
google,スプレッドシート,収支表報告書,レイアウト作成

はい、こんな感じです。

収入の部の部には「会費」、「その他」、支出の部には「体育館使用料」、「懇親会費」、「その他」をそれぞれ記入しました。

個人サークルで利用しているものということもあって、画像でお見せしている収支報告書の費目の数はかなり少ないです。この辺りは作成する収支報告書の目的や規模によって増減させてくださいね。

SUMIF関数で各費目の合計を計算する

項目が記入できたら、SUMIF関数を使って各費目の合計を計算します。

SUMIF関数は、指定した範囲の中から指定した値を探して、指定した値が見つかった行の、これまた指定した列の値を合計してくれる関数です。

マイクロソフトエクセルでも同じ関数がありますね。使い方は同じです。

関数の記述方法はこちら。

=SUMIF(合計したい列,検索する値,検索する列)
たとえば、収支表の「費目」に「体育館使用料」が記入されている行の、「支出」にある金額の合計を計算したい場合は、合計したい列にC列を、検索する値には「体育館使用料」という文字列を、検索する範囲にはD列をそれぞれ指定します。
google,スプレッドシート,収支表報告書,SUMIF

すると、「支出のうち体育館使用料は2,0000」という合計を算出してくれます。

(ちなみに、検索する値は「”体育館使用料”」のように直接関数の中に記入する方法のほか、その値が記入してあるセルを指定する方法もあります。文字列を入力する場合は、””で囲うのをお忘れなく!)

収入部の部の「会費」、「その他」と支出の部の「懇親会費」、「その他」の項目にもこのSUMIF関数を入力すれば…
google,スプレッドシート,収支表報告書,レイアウト作成,sumif

各費目の合計が完成!

これで各費目の合計が出せるので、お次は収入と支出のそれぞれの合計と、収入と支出の差引残高をそれぞれ関数で計算しましょう。

SUM関数で収支合計を計算する

では収入の部、支出の部の各合計を計算しましょう。

ここでは前回記事でご紹介したSUM関数を使います。

収入計のセルの横と、支出計のセルの横にこのSUM関数を入力して、収入の部の合計(収入計)と支出の部の合計(支出計)をそれぞれ計算します。

両方の合計が計算できたら、差引収支のセルの横に収入計 – 支出計の引き算の計算式を入力すれば、収支報告書の金額計算は完了です。

あとは、文字のサイズを調整したり、罫線を引いて「見た目」を調整すれば…

google,スプレッドシート,収支表報告書,レイアウト作成,合計,sum

収支報告書完成!
google,スプレッドシート,収支表報告書,完成

まとめ

今回は、Googleスプレッドシートで超簡単に作成した収支表から、超簡単に収支報告書を作成して、メンバーと共有する方法をご紹介しました。

Googleスプレッドシートを使うことのメリットは前回記事でも触れましたが、実際Googleスプレッドシートで収支表と収支報告書を作ってみた感想は、「簡単」の一言に尽きます。

普段マイクロソフトのExcelで関数やVBAを使っていることもあって、こういった関数を使った作業に慣れていることも大きいですが、慣れていない人でも1時間あればできると思います。

私の場合、収支表や収支報告書の項目や関数入力部分だけなら10分以下で作成できました。

文字の大きさや罫線などの「見た目」の調整のほうが時間がかかったかもしれません…

次回は、メンバーと共有する方法をいくつかご紹介していきます。

この共有も簡単にできますので、折角作成した報告書を共有しないのは勿体無いですからね。

それでは、最後までお読みいただきありがとうございました!

連載目次:Googleスプレッドシートで超簡単!収支表を作成しよう

スプレッドシートで収支表を作れば、スマホでも入力でき、共有もできるようになります。本シリーズではスプレッドシートを使って超簡単に収支表を作成する方法をお伝えしています。
  1. スマホからの入力も可能!Googleスプレッドシートで超簡単に収支表を作成してみた
  2. Googleスプレッドシートで関数を使って簡単に収支報告書を作ってみた

Word VBA初心者にちゃんと理解して欲しいスタイルとその設定をする方法

$
0
0
chapter

photo credit: Anton Vakulenko Chapter One via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBA初心者向けに入力を便利にする簡単マクロの作り方をお伝えしています。

前回の記事はこちら!

Word VBAで選択範囲の最初の段落&最後の段落を取得する方法
初心者向けWord VBAを使って便利な入力ツールを作る方法をお伝えしています。 今回はWord VBAで選択範囲の中から最初の段落と最後の段落を取得して、その文字列を出力する方法をお伝えします。

Word VBAで選択範囲の最初と最後の段落を取得する方法についてお伝えしました。

段落がある程度わかってきたとなると、次にちゃんと理解すべきは「スタイル」ですね。

スタイルを理解することで、Wordの世界が一気に広がると言っても過言ではありません。

ということで、今回はWord VBAで知っておくべきスタイルのこと、またその変更をする方法についてお伝えしていきますよ!

では、行ってみましょう!

Wordのスタイルとは

まずはスタイルとは何かから簡単に説明しますね。Wordでスタイル使わないなんて、めちゃめちゃ損なので、ここでばっちり覚えちゃって下さい。

スタイル…リボンの「ホーム」でものすごい場所をとっている、この方たちのことです。

Wordのリボンのスタイル

標準とか、見出し 1とか、引用文とか、いろいろと種類がありますね。

スタイルとは、フォントや文字サイズ、文字色、行間、インデント、段落罫線などの書式設定を1セットにまとめたもので、設定している書式を段落に一発で摘要できる機能です。

例えば、「見出し 1」スタイルであれば、以下のような設定になっています。スタイルを右クリック→「変更」で内容が確認できますよ。

Wordの見出し 1のスタイルの内容

書式の設定内容としては

  • スタイル名:見出し 1
  • フォント:游ゴシック Light (見出しのフォント – 日本語)
  • フォントサイズ:12pt
  • 強調:なし
  • 斜体:なし
  • 下線:なし
  • 色:自動
  • 配置:両端揃え
  • 行間:1.0
  • インデント:なし

などなど、様々な設定が含まれているわけです。

「見出し 1」スタイルを変更したい場所にカーソルを置いて、リボンで「見出し1」スタイルをクリックすると、その段落に「見出し 1」の書式が一発で摘要されるわけです。

また、文書を全部書いた後に、「やっぱ、見出し 1はこの書式にしたかったよな~」って思ったら、スタイルの書式を変更すれば、「見出し 1」のスタイルを適用していた段落は、全て変更されます。

つまり、スタイルを設定した段落は、後でまとめて書式を変更できるのです。

ほら、便利でしょ?

Styleプロパティでスタイルを設定する

スタイルは段落に適用します。

ですから、Word VBAでスタイルを設定するには、Paragraphオブジェクトに対してStyleプロパティを設定すればOKです。

Styleプロパティの設定の仕方には二つあります。

スタイル名でスタイルを指定する

スタイル名で指定する場合の書き方はこうです。

Paragraphオブジェクト.Style = スタイル名

この場合、いわゆる「標準」とか「見出し 1」などをダブルクォーテーションで囲って指定するのですが、ちょっと問題があります。

「見出し 1」 は「見出し」に半角スペース入れて、半角の数字の「1」です。半角スペースを忘れてもダメですし、全角の数字の「1」でもダメです。

これ、実際つらいっすよね…。「標準」ならいいですが、数字まじりのスタイル名はつらいです。

定数でスタイルを設定する

そんなときには、定数でスタイルを設定する方法もあります。

Paragraphオブジェクト.Style = 定数

で、定数はコチラ!…って一覧表、出したかったのですが、Wordの組み込みスタイル定数の数、103個もあるんですね…

正直そんなに使わないと思うので、デフォルトでWordのスタイルギャラリーに載っているものだけ、ピックアップしました。

定数 スタイル名
wdStyleNormal 標準
wdStyleHeading1 見出し 1
wdStyleHeading2 見出し 2
wdStyleHeading3 見出し 3
wdStyleTitle 表題
wdStyleSubtitle 副題
wdStyleSubtleEmphasis 斜体
wdStyleEmphasis 強調斜体
wdStyleIntenseEmphasis 強調斜体 2
wdStyleStrong 強調太字
wdStyleQuote 引用文
wdStyleIntenseQuote 引用文 2
wdStyleSubtleReference 参照
wdStyleIntenseReference 参照 2
wdStyleBookTitle 書名
wdStyleListParagraph リスト段落
wdStyleFooter フッター
wdStyleHeader ヘッダー

他のスタイルに関しては、以下ページに掲載されていると思いますので、ご参考ください。

参照WdBuiltinStyle 列挙 (Word)

段落にスタイルを設定する

では、試しにWord VBAで段落のスタイル設定をやってみましょうか。

Word文書で最初の段落のこの位置にカーソルがあります。

Word文書の最初の段落にカーソル

この状態で、イミディエイトウィンドウで以下コマンドを打って Enter してみましょう。

Selection.Paragraphs(1).Style = wdStyleHeading1

すると、以下のように最初の段落に「見出し 1」スタイルが適用されるというわけです。

Word VBAでスタイルを適用した

選択範囲に挿入した段落のスタイルを変更する

ではいよいよ、以下の文字列を挿入するマクロの問題を解決していきましょう。

Sub insertText()

Selection.InsertBefore "----- ここから -----" & vbCr
Selection.InsertAfter "----- ここまで -----" & vbCr

End Sub

選択範囲の前後に「—– ここから —–」と「—– ここまで —–」をそれぞれ挿入するマクロです。

しかし、以下のように「箇条書き」のスタイルが適用されている段落を選択した状態で実行すると…

Wordで箇条書きの範囲を選択

選択範囲の前に挿入した段落も「箇条書き」スタイルになってしまうのです。

Wordで箇条書きの範囲を選択に対してマクロ実行

ここは、「標準」スタイルで良いので変更をしちゃいましょう。

挿入した段落のスタイルを変更する

InsertBeforeメソッド、InsertAfterメソッドは、選択範囲が挿入した範囲も含めて広がるという特性がありました。

てことは、各メソッドを実行した後のSelectionオブジェクトの範囲を考えると、以下図のような選択範囲になりますよね。

WordのParagraphsコレクション

つまり、「—– ここから —–」の段落は、選択範囲で一番目の段落になりますから

Selection.Paragraphs(1)

で取得することができ、そのスタイルを「標準」に設定するば良いということです。

つまり、プロシージャを以下のように変更します。

Sub insertText()

Selection.InsertBefore "----- ここから -----" & vbCr
Selection.InsertAfter "----- ここまで -----" & vbCr
Selection.Paragraphs(1).Style = wdStyleNormal

End Sub

選択範囲を箇条書きスタイルが適用されている範囲にした上で実行してみましょう。

Word VBAで選択範囲のスタイルを変更

このように、無事に挿入した段落のスタイルが標準に変更されていますね。

まとめ

Word VBAで知っておくべきスタイルのこと、またその設定する方法についてお伝えしました。

段落、そしてスタイル…Wordの世界が一気に広がってきましたでしょ?なんか、ちゃんと理解されないまま毛嫌いされているんですよね、Word。

スタイルは段落で設定をしますから、Word VBAでスタイルを設定する場合は、ParagraphオブジェクトのStyleプロパティを変更すればよかったわけです。

さて、次回ですが、Withステートメントを使ってWord VBAをすっきり書く方法についてお伝えします。

どうぞお楽しみに!

連載目次:初心者向けWord VBAで文字入力をしてみよう

お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。
  1. Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
  2. Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
  3. Word VBA初心者がまず押さえておくべき段落記号の入力方法
  4. Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
  5. Word VBAで作成したマクロをショートカットキーに登録する方法
  6. Word VBAを使うなら知っておくべき「段落」の話とその操作方法
  7. Word VBAで選択範囲の最初の段落&最後の段落を取得する方法
  8. Word VBA初心者にちゃんと理解して欲しいスタイルとその設定をする方法

Googleスプレッドシートに記録した営業記録をGoogleマイマップに取り込む方法

$
0
0

こんにちは!とくP(@toku_jpn)です!

Googleマイマップ連載の第5回です!前回はレイヤ機能をご紹介し、担当営業者ごとに分類を作成する方法をご説明しました。

Googleマイマップでレイヤを活用して担当者別に営業先を管理する方法
今回はレイヤ機能を活用してひとつのマイマップファイル内で担当者別に営業先を分類して管理する方法をご紹介します。レイヤとは何か?といった基本的なところからご説明します。本内容をマスターできればより管理のしやすい、視認性の高いマイマップに仕上げることができます!

さて、マイマップの作成をひと通り理解すると「もっと早くマイマップを作成する方法はないのか」と考えたくなります。

特に、これまでGoogleスプレッドシートやExcelなどで営業記録をまとめていた方の場合は「なんとか早く、簡単にマイマップに移行できないものか」と思われると思います。

実はGoogleスプレッドシートやExcelデータから簡単にマイマップを作成する方法があります!その方法により

  • すばやくマイマップを作成する
  • 今まで使っていた営業記録などをマイマップに簡単に移行する

といったことができます! 手間がかかるのがイヤでマイマップへの移行を諦めていた方々必見です!

それではご紹介していきます!

Googleスプレッドシートでデータソースを用意する

今回はGoogleスプレッドシートに記録された以下のサンプル営業記録をGoogleマイマップに移行する…という設定で話を進めていきます。

Excelデータでもほぼ同等のやり方でGoogleマイマップへの移行ができますので、Excelファイルのまま編集を続けてください。

Googleスプレッドシートへの記入方法

Googleスプレッドシートへのデータソースの記入は表形式で記入します。

行には場所名列には記載する情報の項目名を記入しておいてください。

列や行に空きがあるとそれ以降の列・行が反映されなくなる可能性がありますので注意してください。

必ず記入しておくべき列名

ここで注意点なのですが、用意するGoogleスプレッドシートには登録する場所の名前住所を必ず記載してください!

この後もご紹介しますが、Googleスプレッドシートを読み込む際には場所の名前を元に登録する各場所の名前、住所を元に場所の位置を決定します。

これらの情報がなければマイマップへの登録が成り立たない、もしくは内容がめちゃくちゃなマイマップができ上がってしまいますので必ず記入するようにしてください。

ちなみに、住所の代わりに緯度・軽度情報でも場所の位置が取得できます。普段なかなか手に入る数値ではありませんのでこちらは豆知識として知っておいてください。

Googleマイマップにデータソースをインポートする

さて、あとは用意したGoogleスプレッドシートをGoogleマイマップにインポートするだけです。今回は新規でマイマップファイルを作成してインポート処理をしてみましょう。

1.無題のレイヤの下部にインポートと書かれたボタンがありますのでクリックしてください。

2.ファイル選択画面になりますので先程まで編集していたデータ元となるGoogleスプレッドシートファイルを選択します。

Excelファイルを元にマイマップを作成する方はPC上からドラッグ・アンド・ドロップすることでインポート処理を開始することができます。

3.数秒でインポート処理が終わります。ここで、「目印を配置する列の選択」画面になります。Googleマイマップ側が”場所を登録したいので住所を教えてくれませんかー?”と求めてきているので、データ元のスプレッドシートの中で住所の記録がある列名にチェックを入れ続行をクリックしてください。

ここで住所を記入した列がなければマイマップへの登録ができず、またスプレッドシートの作成からやり直しになりますので必ず住所を入れるようにしてくださいね。

4.次の「マーカーのタイトルとして使用する列」の画面では”登録する場所の名前はどうしますかー?”と聞いています。今回の例では「営業先」列を選択して完了をクリックしてください。

数秒でGoogleマイマップへのインポートが完了します。あっという間にマイマップが作成できちゃいました!あとはお好みでレイヤ名やアイコン色などを編集するだけです。

データビューを確認してみるとGoogleスプレッドシートに記録されていたデータがそのままちゃんと入っているのが確認できますねー。

データ元とリアルタイム同期はしていないので注意

今回の方法でマイマップを作成した後に、データ元となったGoogleスプレッドシートファイルを編集してもマイマップにデータは反映されないのでご注意ください!

あくまで、マイマップ作成の際にスプレッドシートのデータを利用したに過ぎず、リアルタイムにデータが同期されるよう連結されたわけではないことに注意してください。

マイマップ作成後に行う数値などの変更はGoogleマイマップのデータビュー機能から行ってください。データビュー利用については以下の過去記事を参考にしてください。

Googleマイマップに訪問記録を登録して営業先を管理する方法
Googleマイマップに作成者のオリジナルの情報を記録する方法をご紹介します。これを使いこなすことができれば、Googleマイマップだけで営業進捗管理、営業情報確認などができるようになります!営業マンの方にとって必須のツールになること間違いなしです!

おわりに

今回はGoogleスプレッドシートからデータを読み込みマイマップを素早く作成する方法をご紹介しました。

これで、「Googleマイマップは便利だけど移行がめんどくさい」と考え、利用を躊躇われていた方も今すぐにでもGoogleマイマップの利用を開始することができますね!

マイマップの大量作成にも向いていますので、今回の方法をどんどん活用していって営業管理などをどんどん便利にしていってください。

 

それでは!

 

連載目次:営業マン必見!Googleマイマップの作り方と活用法

Googleマップを日々使われている方は多いですが、実は自分用のオリジナルのマップを作ることができる「Googleマイマップ」という機能があります。 本シリーズではGoogleマイマップの作り方から活用法までを一挙紹介していきます!
  1. 営業先情報を劇的に管理しやすくするGoogleマイマップとその使い方
  2. Google マイマップで自分のオリジナルのマップを作成する方法【基礎編】
  3. Googleマイマップに訪問記録を登録して営業先を管理する方法
  4. Googleスプレッドシートに記録した営業記録をGoogleマイマップに取り込む方法

Word VBAでWithステートメントを使って同一オブジェクトの表記をスッキリ書く方法

$
0
0
with

photo credit: Tambako the Jaguar Two pigs, one carrot! via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAで入力を便利するマクロの作り方を初心者向けにお伝えしています。

前回はコチラの記事。

Word VBA初心者にちゃんと理解して欲しいスタイルとその設定をする方法
Word VBA初心者向けに入力を便利にする簡単マクロの作り方をお伝えしています。今回はWord VBAで知っておくべきスタイルのこと、またstyleプロパティで段落のスタイルを変更をする方法についてです。

Word VBAでスタイルを取り扱う基本についてお伝えしています。

さて、今回ですが、ちょっと複雑になってきたWord VBAのプロシージャ…Selectionに次ぐSelection、何度も同じオブジェクトを書くの面倒なんですよね。

Withステートメントを使えば同じオブジェクトの表記を1回にまとめることができます。

ということで今回は、Word VBAで同一オブジェクトの表記をまとめるWithステートメントの使い方です。

すっきりプログラムを書くことができるようになりますよ!

では、行ってみましょう。

前回のおさらいとお題

前回作成した便利マクロですが、選択範囲の前後に文字列を挿入するというものでした。

Sub insertText()

Selection.InsertBefore "----- ここから -----" & vbCr
Selection.InsertAfter "----- ここまで -----" & vbCr
Selection.Paragraphs(1).Style = wdStyleNormal

End Sub

選択範囲の前に「—– ここから —–」という段落、後に「—– ここまで —–」という段落を挿入するというものです。

ただ、以下のような選択範囲のときに実行すると

Word文書の選択範囲

以下のように、InsertAfterで挿入した段落に、インデントが適用されてしまうのです。

Word VBAによるマクロを実行

今回は、これを解決していきます。

選択範囲の最後の段落を取得する

オーケー、オーケー。

最後の段落なら、前回やったようにSelectionオブジェクトのParagraphsコレクションの中で、最後のインデックス番号の段落ということですから

Selection.Paragraphs(Selection.Paragraphs.Count)

で取得できますしね。

「標準」スタイルのインデントを確認する

あとはインデントを戻す方法なのですが、いろいろと手段はあります。ただ、今回はシンプルに最初の段落に設定しているように、「標準」スタイルに設定することでインデントを解除していきます。

というのも、「標準」スタイルを設定している段落にカーソルを置いた状態で、「段落の設定」を見てみます。リボンの以下の図の位置をクリックです。

Wordのリボンから段落の設定

すると、今カーソルがある位置の段落の設定を見ることができます。

Wordの段落ウィンドウ

  • 左インデント:0字
  • 右インデント:0字
  • 最初の行:なし

となっていますので、インデント関連の設定は何もないことが確認できますね。

選択範囲の最後の段落にスタイルを適用する

ということで、選択範囲の最後の段落に「標準」スタイルを適用していけばよいということですね。

その部分を追加したプロシージャがこちらです。

Sub insertText()

Selection.InsertBefore "----- ここから -----" & vbCr
Selection.InsertAfter "----- ここまで -----" & vbCr
Selection.Paragraphs(1).Style = wdStyleNormal
Selection.Paragraphs(Selection.Paragraphs.Count).Style = wdStyleNormal

End Sub

実際に課題となっていた選択範囲の状態で実行してみますと

Word VBAでマクロを実行

無事に最後の段落のインデントが解除されていますね。

Withステートメントで同一オブジェクトの表記をまとめる

これでバッチリ…なのですが、プロシージャをもう一回見てください。

Sub insertText()

Selection.InsertBefore "----- ここから -----" & vbCr
Selection.InsertAfter "----- ここまで -----" & vbCr
Selection.Paragraphs(1).Style = wdStyleNormal
Selection.Paragraphs(Selection.Paragraphs.Count).Style = wdStyleNormal

End Sub

なんだか、Selectionに次ぐSelection…正直ウザイですよね。

VBAには同一オブジェクトの表現を一つにまとめる便利なステートメントがあります。

それが、Withステートメントです。

書き方はこうです。

With オブジェクト
‘処理
End With

上記「処理」の中で、Withの後に指定したオブジェクトに対するプロパティやメソッドを指定するときは、そのオブジェクトの表記を省略してピリオド(.)から書き始めることができるようになります。

例えば、今回のプロシージャであれば

Sub insertText()

With Selection
    .InsertBefore "----- ここから -----" & vbCr
    .InsertAfter "----- ここまで -----" & vbCr
    .Paragraphs(1).Style = wdStyleNormal
    .Paragraphs(.Paragraphs.Count).Style = wdStyleNormal
End With

と書き換えることができます。ちょっとスッキリしましたでしょ?

まとめ

以上、Word VBAでWithステートメントを使って同一オブジェクトの表記をスッキリ書く方法でした。

Word VBAですが、ThisDocumentとか、Selectionとか、Paragraphとか、けっこうオブジェクトの表記が長くなりがちなんですよね。

オブジェクト変数を使う方法もありますが、今回紹介したWithステートメントが活躍する局面も多くあると思いますので、ぜひ使ってあげてください。

次回ですが、今回作成したマクロをフォームボタンから呼び出す方法についてお伝えしたいと思います。

どうぞお楽しみに!

連載目次:初心者向けWord VBAで文字入力をしてみよう

お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。
  1. Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
  2. Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
  3. Word VBA初心者がまず押さえておくべき段落記号の入力方法
  4. Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
  5. Word VBAで作成したマクロをショートカットキーに登録する方法
  6. Word VBAを使うなら知っておくべき「段落」の話とその操作方法
  7. Word VBAで選択範囲の最初の段落&最後の段落を取得する方法
  8. Word VBA初心者にちゃんと理解して欲しいスタイルとその設定をする方法
  9. Word VBAでWithステートメントを使って同一オブジェクトの表記をスッキリ書く方法

VBScriptでInternet Explorerを使って複数WEBサイトをダブルクリック一発で開く方法

$
0
0

こんにちは!あつもり(@atumori17)です。

今回はWEBスクレイピングというテクニックを紹介したいと思います。

WEBスクレイピングとはプログラムでInternet Explorerを操作して、WEB上にある膨大な情報の中から必要な情報だけを取得するテクニックのことです。

例えばスポーツの試合結果を配信しているサイトからサッカーの試合結果だけを取得したり、株価情報を配信しているサイトから気になる企業の株価だけを取得したり、複数のネットショップから特定の商品の売価だけを取得して比較したりできます。

これらの作業を手作業でやったらとっても大変ですよね。情報が多ければ多いほど知りたい情報を見つけるのに時間がかかります。WEBスクレイピングを使えばこの面倒な探すという作業を自動でやってくれます。

IEで複数のWEBサイトを一発で開くスクリプト

ではまずWEBスクレイピングの基本となる、IEを起動するスクリプトを書いてみたいと思います。複数のサイトを同時に開くことができるので、使いかた次第で業務の効率化にも役立ちますよ~。

例えば朝パソコンを起動したあとに見るWEBサイトが複数あって、いつも同じだとしたらダブルクリック一発で全てのサイトが開いたら便利ですよね。

それでは実際にコードを書いていきます。テキストエディタを開き下記のコードを入力します。全て入力し終わったら「IE起動.vbs」などのファイル名でデスクトップに保存します。

Option Explicit
    Dim objIE

    'オブジェクトの作成
    Set objIE = CreateObject("InternetExplorer.Application")

    'IEを表示させる。Trueで表示
    objIE.Visible = True

    '指定したURLを開く
    objIE.Navigate2 "https://news.google.com/news/?edchanged=1&ned=jp&hl=ja"
    '新しいタブで表示
    objIE.Navigate2 "https://weather.yahoo.co.jp/weather/", &H800
    objIE.Navigate2 "https://transit.yahoo.co.jp/", &H800

プログラムコードの解説

Dimで宣言した変数にIEオブジェクトをセットする

Dim objIE

DimでIEを入れるための変数を宣言します。

Set objIE = CreateObject(“InternetExplorer.Application”)

と書くことで変数objIEにIEがセットされます。これでVBScriptからIEを操作することができるようになります。

VisibleプロパティでIEを表示させる

変数にセットしたIEを表示させるにはVisibleプロパティを使います。

objIE.Visible = True

VisibleプロパティをTrueにすること画面にIEを表示させることができます。

Navigate2メソッドで指定したURLを開く

ではいよいよIEを起動させてみます。やりかたはとってもカンタン。

objIE.Navigate2 “起動するURL”

と書くことでダブルコーテーション内で指定したURLを開くことができます。一般的に指定したURLを開くメソッドはNavigateです。しかし上記コードではNavigate2になっているに気づきましたか?これにはきちんした理由があります。

今回のように複数のサイトを一度に開く場合、Navigateメソッドでやろうとすると、サイトの数だけIEが起動してしまうんです。今回の場合だと3つのIEが立ち上がることになります。

そこで下記のように書きます。

objIE.Navigate2 “起動するURL”, &H800

Navigate2メソッドを使って引数に「&H800」を指定することで、1つのIEで複数サイトを別タブで開くことができます。

上のプログラムでは以下の部分です。1つ目のURLを開くときは引数「&H800」は必要ありません。

'指定したURLを開く
    objIE.Navigate2 "https://news.google.com/news/?edchanged=1&ned=jp&hl=ja"
    '新しいタブで表示
    objIE.Navigate2 "https://weather.yahoo.co.jp/weather/", &H800
    objIE.Navigate2 "https://transit.yahoo.co.jp/", &H800

アプリケーションを実行してみる

では実際に起動してみます。デスクトップにある「IE起動.vbs」をダブルクリックして起動します。

さきほどNavigate2メソッドで指定したWEBサイトが開きました!

まとめ

いかかでしたか?今回の内容をまとめると以下のようになります。

  • WEBスクレイピングとはIEを操作して、WEBサイトに自動でログインしたり、膨大な情報の中から必要な情報だけを取得するテクニック
  • Navigate2メソッドを使えば複数サイトを別タブで表示できる

用途別に起動ファイルを作っておけば、業務ごとに使い分けられるので便利です。今回は以上です。それではお疲れさまでした~。

連載目次:初心者でも簡単!VBScriptでWindows効率化

Windowsを操作できるプログラミング言語「VBScript」を使って、日々の業務効率化! テキストエディタで簡単にできますので初心者にもおすすめです。
  1. 初心者でも簡単プログラムでWindowsの効率化!VBScriptをやってみよう
  2. VBScriptで複数のファイル・フォルダ・アプリケーションをダブルクリック一発で開く方法
  3. VBScriptで曜日ごとに起動するファイルやフォルダ、アプリケーションを変える

Word VBAでフォームを表示&コマンドボタンでマクロを実行する方法

$
0
0
button

photo credit: Eva the Weaver 234 via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAで入力を便利にするマクロの作り方を初心者向けということでお送りしています。

前回の記事はこちら。

Word VBAでWithステートメントを使って同一オブジェクトの表記をスッキリ書く方法
Word VBAで入力を便利するマクロの作り方を初心者向けにお伝えしています。今回は、Word VBAで同一オブジェクトの表記をまとめるWithステートメントの使い方です。これでプログラムをスッキリ書きます!

Withステートメントでスッキリ書く方法をお伝えしました。

さて、今回のテーマはフォームです。

動作イメージとして

  1. ショートカットキーでフォームが立ち上がり
  2. フォーム上のボタンを選択することで
  3. ボタンに対応した文字列を挿入する

という動作をさせていきたいと思います。

では、Word VBAでフォームとコマンドボタンを使用する方法、行ってみましょう!

前回までのおさらいと今回のお題

前回までで作成したマクロはこちらです。

Sub insertText()

With Selection
    .InsertBefore "----- ここから -----" & vbCr
    .InsertAfter "----- ここまで -----" & vbCr
    .Paragraphs(1).Style = wdStyleNormal
    .Paragraphs(.Paragraphs.Count).Style = wdStyleNormal
End With

End Sub

選択範囲の前後に「—– ここから —–」~「—– ここまで —–」を挿入することができますが、新たなニーズが出てきてしまいました。

挿入する文字列が複数出てきたのです。

パターンとして

  • 「—– Point —–」~「—– ここまで —–」
  • 「—– Memo —–」~「—– ここまで —–」

この二種類が欲しくなっちゃいました。

それぞれのマクロをショートカットキーに登録をする方法もありますが、ショートカットキーがちょっともったいないし、覚えないといけません。

ですから、今回は上記二つのボタンをフォームに設置して、フォームの呼び出しをショートカットキーに割り当るという方針を取ります。

フォームを作成する

まずベースとなるフォームを作り方からです。

VBEのメニューから「挿入」→「ユーザーフォーム」を選択します。アクセスキーの AltIU でもOKです。

VBEからフォームを挿入

すると以下のようにユーザーフォーム「UserForm1」が作成されます。

VBEでフォームを挿入した

このフォームをプログラム内で呼ぶための名前として「オブジェクト名」と、フォームに表示するテキストのCaptionを設定していきます。

F4 キーで「プロパティウィンドウ」が開く、またはフォーカスが当たりますので、以下それぞれを編集していきます。

  • オブジェクト名:frmSelect
  • Caption:選択範囲の前後に文字列を挿入

VBEでフォームのプロパティを設定
これでひとまずベースとなるフォームは完成です。

ショートカットキーでフォームを呼び出す

続いて、このフォームをショートカットキーで呼び出すようにしておきましょう。

フォームオブジェクトは

Formオブジェクト.Show

で呼び出すことができます。

先ほど作成したフォームはオブジェクト名「frmSelect」という名前をつけましたね。ですから、呼び出すために以下プロシージャを作成します。

Sub formShow()

frmSelect.Show

End Sub

このプロシージャformShowをショートカットキーに割り当てればOKですね。今回も Alt + I に割り当てたいと思います。

方法は以下記事で解説をしています。

Word VBAで作成したマクロをショートカットキーに登録する方法
初心者向けにWord VBAで便利な文字入力をするマクロの作り方シリーズ。今回は文書入力しながらサクサク使うために、Word VBAで作ったマクロをショートカットキーに登録する方法をお伝えします!

既に登録してあるマクロに割り当てたいときは、前に登録している割り当てを削除してから、新たに割り当てるようにしてくださいね。

Wordでショートカットキーの割り当てを削除

Word文書の編集中に Alt + I キーで先ほど作成したフォームが表示されるようになります。

Wordのショートカットキーでフォームを表示

フォームにボタンを設置する

続いて、フォームにボタンを設置していきましょう。

プロジェクトエクスプローラー(左側のツリー上の画面、表示されていなければ Ctrl + R で表示)で、作成したフォーム「frmSelect」を選択します。

ツールボックスの中から「コマンドボタン」を選択すると、フォーム上にドラッグでボタンを配置できますので、適当な大きさで作りましょう。

VBEでフォームにコマンドボタンを設置

フォームと同様に、ボタンもプロパティを設定していきますので、F4 キーでプロパティウィンドウに移動下さい。

VBEでフォームのコマンドボタンのプロパティを設定

今回は、「Point」というボタンを作っていきたいので、設定項目は

  • オブジェクト名:btnPoint
  • Caption:Point

とします。フォント設定はクリックすると、以下「フォント」ウィンドウが開きますので、フォントの種類やサイズを好みに設定してください。

VBEでコマンドボタンのフォントを設定

今回は「Meiryo UI」の「12pt」に設定しました。

これで、現在のフォームは以下のようになります。

VBEでフォームにボタンを設置した

ここでボタン「Point」をダブルクリックすると、このボタンを押したときに動作するマクロとなる「Private Sub btnPoint_Click()」を編集できるようになりますので、以下のプログラムを入力しておきましょう。

Private Sub btnPoint_Click()

insertText "----- Point -----"

End Sub

引数を渡してSubプロシージャを呼び出すときは以下のように書きます。

プロシージャ名 引数

上記の例では、これまでつくってきたプロシージャinsertTextに文字列「—– Point —–」を引数として渡す形で呼び出しています。

引数を渡してプロシージャを実行する

「Point」ボタンを押したら引数「—– Point —–」が渡されてinsertTextが呼び出されますので、引数を受け取れるように変更を加えましょう。

引数を受け取るSubプロシージャは以下のように記述します。

Sub プロシージャ名(ByVal 変数名 As データ型)

今回受け取る引数は文字列型ですので、データ型にはString、変数名はstrとして以下のように書き換えます。

Sub insertText(ByVal str As String)

With Selection
    .InsertBefore str & vbCr
    .InsertAfter "----- ここまで -----" & vbCr
    .Paragraphs(1).Style = wdStyleNormal
    .Paragraphs(.Paragraphs.Count).Style = wdStyleNormal
End With

End Sub

InsertBeforeにて受け取ったstrを使用した段落を挿入するという形ですね。

Unloadステートメントでフォームを閉じる

ここまでの動作を確認してみましょう。

Word文書で Alt + I キーでしたね。

Wordでボタンつきのフォームを呼び出す

無事に目的の文字列は挿入されていますが、フォームがずっと表示されっぱなし…しかも、閉じないとWordが編集できないという…正直、邪魔です。

ですので、InsertTextの最後の処理で、フォームを閉じる命令を入れましょう。

フォームを閉じる場合は、Unloadステートメントを使って

Unload Formオブジェクト

とします。

ですから、InsertTextを以下のように変更すればよいですね。

Sub insertText(ByVal str As String)

With Selection
    .InsertBefore str & vbCr
    .InsertAfter "----- ここまで -----" & vbCr
    .Paragraphs(1).Style = wdStyleNormal
    .Paragraphs(.Paragraphs.Count).Style = wdStyleNormal
End With

Unload frmSelect

End Sub

まとめ

Word VBAでフォームとコマンドボタンを使用する方法についてお伝えしました。

  • フォームの設置
  • フォームの呼び出し
  • コマンドボタンの設置
  • コマンドボタンを押下したときのプロシージャ作成
  • 引数を渡してプロシージャを呼び出し
  • フォームを閉じる

と、内容盛りだくさんでした。

例えば、もう一つフォーム上にコマンドボタン「Memo」(オブジェクト名はbtnMemo)を設置して、それを押下したときのプロシージャを

Private Sub btnMemo_Click()

insertText "----- Memo -----"

End Sub

とすれば、以下のように同一フォームで複数テキストを選択できるようになります。

Wordのショートカットキーでフォームを呼び出す

もちろん、もっとボタンを追加することもできます。便利ですよね!

また、Word VBAに関する便利なマクロの作り方を紹介していきますね。

どうぞお楽しみに!

連載目次:初心者向けWord VBAで文字入力をしてみよう

お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。
  1. Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
  2. Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
  3. Word VBA初心者がまず押さえておくべき段落記号の入力方法
  4. Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
  5. Word VBAで作成したマクロをショートカットキーに登録する方法
  6. Word VBAを使うなら知っておくべき「段落」の話とその操作方法
  7. Word VBAで選択範囲の最初の段落&最後の段落を取得する方法
  8. Word VBA初心者にちゃんと理解して欲しいスタイルとその設定をする方法
  9. Word VBAでWithステートメントを使って同一オブジェクトの表記をスッキリ書く方法

Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム

$
0
0
loupe

photo credit: VeRoNiK@ GR One day at a time via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Wordの検索、置換機能は優秀ですよね。

文書全体に対して特定の文字列を探し当てて、別のワードに一気に置換…そんなものはお手の物です。

ただ、例えばこんな場合はどうでしょうか?

  • 特定の文字列だけに書式を設定したい
  • 複数の文字列をそれぞれ別のワードに置換したい
  • 複数の文書に対して置換を行いたい

手作業でできないことはないですが、まあ面倒ですし、生産的な作業にはならなそうですよね。

そんなときに、Word VBAが活躍します。検索・置換による一括処理は大得意です。

ということで、今回からシリーズで、Word VBA初心者向けに検索&置換を活用する方法についてお伝えします。

初回の今回は、Word VBAで検索をつかさどるFindオブジェクトの基本中の基本の最初の一歩について、たぶんどこよりも丁寧に解説します。

では、行ってみましょう!

Word VBAのFindオブジェクトとは

Word VBAで検索・置換をする際には、絶対に避けて通れないのがFindオブジェクトの存在です。

こんなふうに使います…!

Sub findText()

With Selection.Find
    .Text = "Word"
    .Replacement.Font.Underline = True
    .Execute Replace:=wdReplaceAll
End With

End Sub

っつったって、わけがわからないでしょ?…そうなんです、Findオブジェクト、わかりづらいんです。

でも、大丈夫です。丁寧に説明しますので。

Wordの検索機能と比較してみる

Findオブジェクトを理解するには、Wordの検索機能と比較するのが一番わかりやすいです。

Word文書で Ctrl + F キーで検索をかけると、左側に「ナビゲーションウィンドウ」が登場しますね。入力欄にキーワードを入力すると、あっという間に検索をかけてくれて、マッチするワードは黄色くハイライトされます。

Wordの検索

さらに高度な検索をかけたいときには、入力欄の右端にある「▼」ボタンから検索メニューを開き、「高度な検索」を選択します。

Wordの検索メニューから高度な検索

すると、「検索と置換」ウィンドウが開きますよね。さらに「検索と置換」ウィンドウの「オプション」ボタンをクリックすると、設定項目が山ほど出現します。

Wordの検索と置換ウィンドウ

はい、この画面。

この検索と置換の設定がFindオブジェクトです。

Findオブジェクトは以下のプロパティを持っていまして、それは続いて説明する検索と置換の設定と対応をしています。

  • Textプロパティ:検索する文字列
  • MatchByteプロパティ:半角と全角を区別する
  • MatchCaseプロパティ:大文字と小文字を区別する
  • MatchFuzzyプロパティ:あいまい検索(日)
  • MatchPhraseプロパティ:空白文字を無視する
  • MatchWholeWordプロパティ:完全に一致する単語だけを検索する
  • MatchWildcardsプロパティ:ワイルドカードを使用する

Findオブジェクトというと、検索すること自体や、その結果のことを表しているように思ってしまいますが、Word VBAにおけるFindオブジェクトは検索条件のことを指します。

カーソル位置以降の検索を実行する

まず参考として、実際にWordで検索をする操作をしてみましょう。

以下のように

  • カーソル位置:文書の冒頭
  • 検索文字列:「Word」

という検索設定で「次を検索」をしてみます。

Wordで検索を実行する

すると、以下のようにカーソル位置の直後のマッチしたワードが選択状態になりますよね。

Wordで検索した最初の結果

続けて「次を検索」をもう一度クリックしてみると

Wordの次の検索結果

最初の検索結果の直後の「Word」が選択範囲になりました。

この条件と動作をよく覚えておいてくださいね。

Word VBAでカーソル位置以降の検索を実行する

Word VBAで同じことを実行してみようと思います。

以下プロシージャを作成してみましょう。

Sub findText()

With Selection.Find
    .Text = "Word"
    .Execute
End With

End Sub

以下でこのプロシージャの解説をしていきますね。

カーソル位置以降の検索を設定する

まずカーソル位置以降の検索条件を設定する場合は、Selectionオブジェクト配下のFindオブジェクトを使います。

Selection.Find

このFindオブジェクトに対して、いろいろな条件を設定していきます。

Textプロパティで検索文字列を設定する

Findオブジェクトに対して本当にいろいろな検索条件を設定するプロパティが存在するのですが、今回はシンプルに検索文字列だけ設定をしましょう。

検索文字列を設定するにはTextプロパティを使います。

Findオブジェクト.Text = 検索文字列

今回のプロシージャでは「Word」という文字列を検索文字列として指定しています。

Executeメソッドで検索を実行する

検索の条件設定が完了した暁には、検索を実行するのですが、その際にはFindオブジェクトに対してExecuteメソッドを使います。

Findオブジェクト.Execute

これで検索が実行されます。

では、カーソル位置を文書の冒頭に戻して、上記プロシージャを実行してみましょう。

Word VBAで検索した最初の結果

文書の最初に登場する「Word」が選択状態になりましたね。続いて、この選択状態のまま、もう一度プロシージャfindTextを実行してみましょう。

Word VBAで次の検索を実行した結果

次に登場する「Word」が選択状態になりましたね。

つまり、Executeメソッドは「検索と置換」ウィンドウにおける「次を検索」ボタンの押下1回と同じ役割を果たしていることがわかりますね。

そして、選択範囲つまりSelectionオブジェクトの指し示す範囲は直後の検索結果に移ります。

この二つの事実はわりと重要だと思うので、よくつかんでおいて頂ければと思います。

まとめ

Word VBAで検索をするためのFindオブジェクトとその実行の基本中の基本についてお伝えしました。

まず、Findオブジェクトが「検索設定」をつかさどるオブジェクトであるということは重要なポイントです。様々なプロパティを持ちますが、検索文字列を設定するのはTextプロパティになります。

実際に、検索を実行する際にはFindオブジェクトに対して、Executeメソッドを使いますが、これは「次を検索」ボタンの押下と同様の動作となります。

Selectionオブジェクトに対するFindオブジェクトを実行すると、現在のカーソル位置または選択範囲の直後の検索結果に選択範囲が移ります。

Findオブジェクト、深いですね。

では、次回はExecuteメソッドを1回こっきりではなく、最後まで繰り返し実行する方法をお伝えします。

どうぞお楽しみに!

Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする

$
0
0
highlight

photo credit: andrewrennie Do Not Worry via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAで色々な検索&置換をする方法についてシリーズにてお伝えしています。

前回の記事はこちら!

Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
Word VBA初心者向けに検索&置換を活用する方法についてお伝えします。初回ということでWord VBAで検索をするためのFindオブジェクトの基本中の基本の最初の一歩について、どこよりも丁寧に解説します。

Word VBAの基本中の基本、Findオブジェクトを使った最も簡単な使い方をお伝えしました。

ただあれっすね、一個ずつしか検索しかできないものでしたし、何の検索するだけで何にもしないプログラムでしたので…正直役に立たない…

ということで、今回は少し役に立つ内容にパワーアップをしていきます。

Word VBAでカーソル位置から連続して検索して蛍光ペンでハイライトをする方法についてお伝えします!

前回のおさらい

前回作成したプログラムはこちらでした。

Sub findText()

With Selection.Find
    .Text = "Word"
    .Execute
End With

End Sub

Selectionオブジェクトつまり、カーソル位置から直後の「Word」という文字列を検索する内容です。

イメージとしては、検索条件を表すFindオブジェクトに、検索文字列であるTextプロパティをセットして、Executeメソッドで検索実行!…という感じですね。

プロシージャを実行するたびに、選択範囲が検索結果の文字列に移動していくという動作になりますので、全部のワードを検索するには、何回も同じプロシージャを繰り返し実行する必要がありました。

まずは、一回のプロシージャ実行で、カーソル位置以降のすべての検索文字列を検索することを目指します。

Word VBAで連続して検索をする方法

カーソル位置から連続して検索するためには、Do While~Loop文とExecuteメソッドを組み合わせて使うと便利です。

Do While~Loop文による繰り返し

Do While~Loop文は指定した条件式が成立している(Trueである)間、繰り返し処理をする際に使う構文で、以下のように書きます。

Do While 条件式
‘処理
Loop

Executeメソッドの値

また、Findオブジェクトで設定した検索条件で検索を実行するExecuteメソッドですが、ちょっとイケてる特性があります。

Executeメソッドは検索実行のたびに以下のようなルールでTrueかFalseno値を返すのです。

  • 検索文字列が見つかった場合:True
  • 検索文字列が見つからなかった場合:False

ということは…、先ほどのDo While~Loop文の条件式に、Executeメソッドをそのまま放り込んでゴニョゴニョすれば…

カーソル位置以降を連続検索するプロシージャ

それをコード化したが以下のプロシージャです。

Sub findText()

With Selection.Find
    .Text = "Word"
    Do While .Execute
          Stop
    Loop
End With

End Sub

Stopステートメントは本来不要ですが、ちょっと動作がわかるように入れさせて頂いています。

では、このプロシージャを実行してみましょう。

Word VBAで連続で検索をする

ちゃんとプロシージャの実行内で最後の文字列まで連続して検索することができました。

検索結果に蛍光ペンでハイライトをする

順番に検索するだけではマクロとしてはあんまり意味がないので、検索結果に操作をしてみましょう。

蛍光ペンでハイライトをしてみます。

ただ、なぜか蛍光ペンに関してはSelectionオブジェクトに対して直接設定することはできませんので、まずはSelectionオブジェクトから範囲つまりRangeオブジェクトを取り出してから

Selection.Range

その範囲に対して蛍光ペンのハイライトを表すHighlightColorIndexプロパティの値を設定するという段取りになります。

Rangeオブジェクト.HighlightColorIndex = WdColorIndex

設定値にはWdColorIndexつまりWordの色のインデックスを表す定数を指定します。

WdColorIndexには以下の種類がありますので、好みのものを使用してください。

定数
wdAuto 自動(既定値は黒)
wdBlack
wdBlue
wdBrightGreen 明るい緑
wdByAuthor 作者が定義した色
wdDarkBlue 濃い青
wdDarkRed 濃い赤
wdDarkYellow 濃い黄色
wdGray25 網掛け25のグレー
wdGray50 網掛け50のグレー
wdGreen
wdNoHighlight ハイライトなし
wdPink ピンク
wdRed
wdTeal 青緑
wdTurquoise 水色
wdViolet
wdWhite
wdYellow 黄色

検索結果にハイライトをするプログラム

せっかくなのっで、wdTealを選択して、プロシージャを作ってみました。

Sub findText()

With Selection.Find
    .Text = "Word"
    Do While .Execute
        Selection.Range.HighlightColorIndex = wdTeal
    Loop
End With

End Sub

このプロシージャを実行すると、以下のようにティールカラーの蛍光(?)ペンにハイライトされます。

Word VBAで検索結果を蛍光ペンでハイライト

期待していたよりも微妙な色でしたね。

まとめ

Word VBAでカーソル位置以降の検索を連続でする方法、また検索結果に蛍光ペンでハイライトをする方法についてお伝えしました。

Do While~Loop文を使うという点、またその条件式にExecuteメソッドを使うという点がポイントですね。

次回ですが、検索結果に対して色々な文字書式の設定をする方法についてお伝えします。

どうぞお楽しみに!

連載目次:Word VBAで色々な検索&置換をする方法

Word VBAのFindオブジェクトを使えば色々な条件で目的を探し当てて置換、書式設定、その他、いろいろな処理を施すことができます。Word VBAの検索の最初の一歩から順番にお伝えしていきます!
  1. Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
  2. Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする

圧倒的に見やすいダッシュボードを作成できる「Google Data Studio」が熱すぎる

$
0
0


こんにちは!
タダケン(@tadaken3)です。

今回はKPIを把握できるダッシュボードを簡単に作れる「Google Data Studio」をご紹介します。

いつも本ブログでは、Google Apps Scriptのテクニックについて記事を執筆していますが、実はデータアナリストが本業だったりします。BI(Business Intelligence)ツールってご存知でしょうか?事業の様々なデータを可視化して意思決定しやすくするためのツールで、要はKPIがまとまったダッシュボードを作ったり、データの分析をしたりするツールです。

ダッシュボードを作成することで、自社のサイトやブログ、事業の状況を常に把握でき、精度の高い意思決定につながります。

そのBIツールをGoogleが無料で提供してくれています。正直、一般的なBIツールは非常に高価なのですが、無料で提供されるなんてとても衝撃的です。

Google Data Studioとは

「Google Data Studio」はデータを可視化するサービスです。Google Data Studioでは、色々なデータを元にダッシュボードやレポートを作れます。見た目がとても綺麗で、ダッシュボード、レポートを作るのがとても楽しくなります。

百聞は一見にしかずなので、実際どんなダッシュボードが作れるのかご覧いただきましょう。以下のリンクにアクセスしてみてください。

「いつも隣にITのお仕事」ダッシュボード

こちらはGoogle Data Studioで作成した「いつも隣にITのお仕事」のアクセスレポートです。

実際のデータを使用しているので、自動で更新されて上の日付選択のところで、期間を変更することができます。使用しているデータは2つで

  • Googleアナリティクス
  • WordPress(Googleスプレッドシートを経由)

1ページ目にGoogleアナリティクスを使用した基本的なKPIを、2ページ目にWordPressを使用したブログ記事のカテゴリ別の指標を確認できるようにしています。グラフ上のデータにマウスオーバーで各指標の数値も確認可能です。

Google Data Studioの魅力

きれいなグラフのダッシュボードが簡単に作れる

グラフ作成のステップはたった2つだけです。

  1. 可視化するデータの項目を選択
  2. 時系列、棒グラフ、円グラフ、表、ヒートマップ、地図、スコアカード、散布図、ブレットグラフ、面グラフなどの多彩なチャート、グラフから適切なものを選択する

たったのこれだけでグラフが作れてしまいます。また、前期比や前年同期比などもオプションにチェックを入れるだけできれいに可視化できてしまいます。

あとは、グラフやチャートを自由に配置してダッシュボードを作成するだけです。テンプレートも沢山用意されていて、それを活用するだけでも圧倒的にきれいなダッシュボードが作れます。

もちろんダッシュボードのアクセス制限なども可能です。これ本当に無料なのって感じです。

複数のデータソースを組み合わせることができる

Googleの提供しているサービスなので、Googleスプレッドシート、Googleアナリティクス、Google BigQuery、Google Cloud SQLなどはもちろん簡単に連携できます。ほかにもMySQLのデータやAdwords、Youtubeチャンネルのデータを利用することが可能です。

複数のデータソースを組み合わせて、ひとつのダッシュボードを作ることもできるので、多面的な分析レポートが作成できます。

データは自動で更新

作成したレポートはデータソースが更新されれば、もちろん自動で更新されます。日付のフィルターもとても強力なので、レポートにアクセスするたび、直近7日間の内容を表示させると言ったこともできてしまいます。

まとめ

今回の記事はいかがでしたでしょうか。Google Data Studioの魅力を感じていただけたでしょうか。次回はGoogle Data Studioを使って、実際のダッシュボードを作成する方法をお伝えいたします。

Google Data Studioを活用して、あなたの上司や同僚をあっと驚かせましょう。

どうぞ、お楽しみに!

Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ

$
0
0

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAで色々な検索&置換をする方法についてお伝えしています。

前回はコチラの記事。

Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
Word VBAで色々な検索&置換をする方法についてお伝えしています。Word VBAで連続して検索して蛍光ペンでハイライトをする方法についてお伝えします!Executeメソッドのイケてる機能がポイントです。

カーソル位置以降を検索してマッチした文字列に蛍光ペンでハイライトをする方法についてお伝えしました。

さて、蛍光ペンは良いのですが、そもそもWord VBAで検索したときに設定できる書式って、どんなものがありましたっけ?

その多くはFontオブジェクトのプロパティが担っていて、とっても多くの種類があります。

ということで、今回はWord VBAでフォントの設定を変更する方法と、そのプロパティを一挙にまとめました

では、いってみましょう。

前回のおさらい

前回はカーソル位置以降の検索を行って、マッチした文字列に蛍光ペンでハイライトをするというプログラムを作りました。

Sub findText()

With Selection.Find
    .Text = "Word"
    Do While .Execute
        Selection.Range.HighlightColorIndex = wdTeal
    Loop
End With

End Sub

検索するのはいいのですが、蛍光ペンだけでなくて、テキストの置換とか書式の設定とか、ほかにも色々とやりたいことがありますよね。

今回は、まずフォントの設定について変更をする方法についてお伝えします。

Fontオブジェクトとは

以前、こちらの記事でWordにおける書式設定は文字書式と段落書式の二種類があるということをお伝えしました。

Word VBAを使うなら知っておくべき「段落」の話とその操作方法
初心者向けのWord VBAのシリーズということで便利な文字を入力するマクロの作り方をお伝えしています。Word VBAで段落を表すParagraphオブジェクトとその操作方法についてお伝えしていきます。

スタイル、インデント、配置などそういったものは段落書式が担っていて、段落単位で設定をするものです。

フォントの種類、サイズなどそういう書式は文字書式といって、文字単位で設定していくものですが、Word VBAにおいてその多くはFontオブジェクトが担っています。

Fontオブジェクトは対象となる文字列のフォントの設定を表します。

検索結果に文字列に下線を引く

蛍光ペンはSelectionオブジェクトから直接設定できなかったのですが、FontオブジェクトはSelectionオブジェクトから取得することができます。

Selection.Font

つまり、現在の選択範囲のフォント設定ってなわけですね。

Fontオブジェクトには、それこそたくさんプロパティを持っていて、その一つ一つがいろいろな設定を保持しているのですが、まずは一例として、みんな大好きアンダーラインを使ってみましょうか。

アンダーラインはFontオブジェクトのUnderlineプロパティです。

Fontオブジェクト.Undrline = True/False

当然、Trueなら下線あり、Falseなら下線なしになりますので、検索結果に下線を引くプロシージャは以下のようになりますね。

Sub findText()

With Selection.Find
    .Text = "Word"
    Do While .Execute
        Selection.Font.Underline = True
    Loop
End With

End Sub

これを実際に実行すると

Word VBAで検索文字列に下線を引く

このようにマッチした文字列に下線を引くことができるというわけです。

Fontオブジェクトのプロパティまとめ

Fontオブジェクトですが、本当にたくさんのプロパティを持っています。全部が全部使うことはそうそうないと思いますが、なるべく多く紹介します。

書式のオン・オフを設定するプロパティ

まず、わかりやすくTrueまたはFalseの値を持つプロパティです。Trueにすれば有効になります。

プロパティ 機能
AllCaps 大文字
Bold 太字
DoubleStrikeThrough 二重取消線
Emboss エンボス
Engrave 浮彫
Italic 斜体
Outline 中抜き
Shadow 影付き
SmallCaps 小型英文字
StrikeThrough 取り消し線
Subscript 下付き
Superscript 上付き
Underline 下線のオン/オフおよび種類

これだけでも、たくさんありますね~。

Underlineプロパティだけは、TrueまたはFalse以外に、WdUnderline定数を指定することで下線の種類を設定できたりします。

数値や文字列で書式を設定するプロパティ

続いて、数値や文字列を値として持つプロパティです。

おそらくよく使いそうなのはフォントの種類のNameプロパティ、サイズのSizeプロパティですよね。

プロパティ 機能
EmphasisMark 傍点 WdEmphasisMark定数
Name フォント名 文字列
Position ベースラインからの位置 数値(pt)
Scaling 水平方向の拡大縮小倍率 数値(%)
Size フォントサイズ 数値(pt)
Spacing 文字の間隔 数値(pt)

オブジェクトで書式を設定するプロパティ

続いて、専用のオブジェクトでさらに詳細の設定をしていくタイプのプロパティです。

一つ一つ紹介することはできませんが、気になるものがあれば調べてみてください。

プロパティ 機能
Borders 文字列の罫線 Boardersコレクション
Duplicate Fontオブジェクトのコピー Fontオブジェクト
Fill 塗りつぶしの書式 FillFormatオブジェクト
Glow 光彩の書式 GrowFormatオブジェクト
Parent 親オブジェクト オブジェクト
Reflection 反射の書式 ReflectionFormat オブジェクト
Shading 網掛け書式 Shadingオブジェクト
TextColor 色の書式 ColorFormat オブジェクト
TextShadow 影付き書式 ShadowFormat オブジェクト
ThreeD 3D効果の書式 ThreeDFormat オブジェクト

まとめ

Word VBAでフォント設定を変更する方法と、Fontオブジェクトのプロパティのまとめということでお送りしました。

たくさんあってげんなりしてしまったかも知れませんが、実際に使うのはこのうちのいくつかだと思いますので、ザーっと見ておくだけでよいと思います。

では、次回はいよいよ置換の方法に話題を移していきたいと思います。

どうぞお楽しみに!

連載目次:Word VBAで色々な検索&置換をする方法

Word VBAのFindオブジェクトを使えば色々な条件で目的を探し当てて置換、書式設定、その他、いろいろな処理を施すことができます。Word VBAの検索の最初の一歩から順番にお伝えしていきます!
  1. Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
  2. Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
  3. Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ

Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説

$
0
0
replace

photo credit: Chendragon2 Induction Rice Cooker Teardown via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAでいろいろな検索や置換をする方法についてシリーズでお伝えしています。

前回の記事はコチラでした。

Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ
Word VBAで色々な検索&置換をする方法についてお伝えしています。今回はWord VBAでFontオブジェクトを使ってフォントの設定を変更する方法と、そのプロパティを一覧で一挙にまとめました。

カーソル位置から先の範囲について連続して検索する方法についてお伝えしました。

前回は検索にヒットした文字列について蛍光ペンでハイライトをしたり、Fontオブジェクトで文字書式を変更したりしたのですが、今回変更するのは文字そのもの、つまり「置換」をしていきます。

Word VBAで置換をする方法はいくつかありますので、それぞれ紹介していきますね。

Executeメソッドの引数ReplaceとReplaceWith、Replacementオブジェクトなど、ポイントとなる情報が盛りだくさんでお送りします。

では、行ってみましょう!

検索結果のTextプロパティを変更する方法

まずは、前回紹介した以下プロシージャをベースした方法です。

おさらいを兼ねて紹介します。

Sub findText()

With Selection.Find
    .Text = "Word"
    Do While .Execute
        Selection.Font.Underline = True
    Loop
End With

End Sub

カーソル位置以降の「Word」という文字列に下線を引くというものです。

Do While文の中の処理を「テキストを変更する」という内容に変更していけばよさそうですね。

まず、Selectionオブジェクトの文字範囲であるRangeオブジェクトを取得して

Selection.Range

文字範囲のテキストを表すTextプロパティの値を変更するという段取りです。

Rangeオブジェクト.Text = 文字列

つまりプロシージャとしては

Sub replaceText()

With Selection.Find
    .Text = "Word"
    Do While .Execute
        Selection.Range.Text = "ワード"
    Loop
End With

End Sub

となります。

Selection.Textではダメな理由

実は、Word VBAはSelectionオブジェクトからRangeオブジェクトを取り出さなくても、直接Textプロパティを操作することができます。

Selection.Text = 文字列

ですから、このようなプロシージャも思いつくのです。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    Do While .Execute
        Selection.Text = "ワード"
    Loop
End With

End Sub

ただ、このプロシージャですと、カーソル位置の直後でヒットした文字列だけ置換して終了します。というのも、実行してみればわかるのですが

Word VBAで置換した文字列が選択範囲になる

置換した文字列が選択範囲になります。次のExecuteメソッドの実行はこの選択範囲内に対しての検索になってしまうので、マッチする文字列がなくFlaseになるため、Do While文の繰り返しから抜けてしまうのです。

ですから、Textプロパティの値の変更を行ってもSelectionが「範囲にならないよう」にする必要があるのです。

RangeオブジェクトのTextプロパティに対して値変更をした場合には、置換後の文字列は選択範囲にならず、文字列の先頭にカーソルが配置されます。

Word VBAで置換後の文字列が選択範囲にならない

ですから、次回のExecuteメソッドの検索範囲は文書のカーソル以降となります。

「全て置換」をする方法

Executeメソッドの引数Replaceを指定する

カーソル以降の全ての文字列を置換する方法はもう一つあります。

Executeメソッドの名前付き引数Replaceを指定する方法です。

Selection.Execute Replace:=WdReplace定数

Replaceには置換の実行方法について表すWdReplace定数を指定します。

定数 置換の方法
wdReplaceNone 置換しない(既定値)
wdReplaceOne 1つだけ置換
wdReplaceAll 全て置換

つまり、引数ReplaceにwdReplaceAllを指定すれば、全て置換ができるというわけです。

Executeメソッドの引数ReplaceWithを使う

ただ、置換をするのであれば、どの文字列に変更をするのかを指定しなければいけません。

その指定の方法もいくつかありまして、一つ目はExecuteメソッドの名前付き引数ReplaceWithを使う方法です。

Selection.Execute ReplaceWith:=文字列

これらを活用すると以下のようなプロシージャとなります。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .Execute Replace:=wdReplaceAll, replacewith:="ワード"
End With

End Sub

かなりシンプルに記述できますね。

Replacementオブジェクトを使う方法

もう一つの方法が、Replacementオブジェクトを使う方法です。

ReplacementオブジェクトはFindオブジェクトの配下にある置換条件を設定するためのオブジェクトです。

Findオブジェクト.Replacement

ReplacementオブジェクトのTextプロパティで置換後の文字列を指定することができます。

Replacementオブジェクト.Text = 文字列

また、Replacementオブジェクトは配下にFontオブジェクトを持ちますので、置換と同時に文字書式の変更を施すことも可能です。

Replacementオブジェクト.Font

実際にプログラム内で使う場合は以下のように記述をすればOKです。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    With .Replacement
        .Text = "ワード"
        .Font.Size = 24
        .Font.Underline = True
    End With
    .Execute Replace:=wdReplaceAll
End With

End Sub

このプロシージャを実行すると、以下のように置換されます。

Word VBAで置換と同時にフォント設定

すっかりダサい文書になりました。

まとめ

Word VBAで文字列の置換をするいくつかの方法についてお伝えしました。

どれを使うか迷ってしまいそうですが、以下のような使い分けが良いでしょう。

  • 単純に文字列の置換だけを行うのであれば、Executeメソッドの引数ReplaceをwdReplaceAllにしつつ、引数ReplaceWithに置換後の文字列を設定
  • 置換後の文字列に文字書式の設定もしたいのであれば、Replacementオブジェクトを設定しつつ、Executeメソッドの引数ReplaceをwdReplaceAllに設定
  • 文字列の置換、文字書式の設定以外に何かしらかの処理を施したいのであれば、Do While~Loop文

次回は、検索条件に目を向けて、いろいろな条件設定の仕方についてお伝えしますね。

どうぞお楽しみに!

連載目次:Word VBAで色々な検索&置換をする方法

Word VBAのFindオブジェクトを使えば色々な条件で目的を探し当てて置換、書式設定、その他、いろいろな処理を施すことができます。Word VBAの検索の最初の一歩から順番にお伝えしていきます!
  1. Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
  2. Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
  3. Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ
  4. Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説

Word VBAで検索オプションを設定して検索をする方法とそのプロパティ一覧

$
0
0

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAで色々な検索や置換をする方法についてお伝えしています。

前回の記事はこちら。

Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説
Word VBAでいろいろな検索や置換をする方法についてお伝えしています。Word VBAで置換をする方法は、いくつかのパターンがありますので、それぞれの組み方と特徴を徹底解説をしていきます。

Word VBAで置換をする方法についてお伝えしました。

今まで紹介してきました検索や置換は単純にマッチする文字列を探してくるだけだったのですが、ほら、Wordの検索機能には全角と半角を区別して検索したり、アルファベットの大文字と小文字を区別したり、細やかな設定ができますでしょ。

Word VBAでもそれらの細かな条件を設定した検索が可能です。

ということで、今回はWord VBAで検索オプションを設定して検索をする方法をお伝えしつつ、その設定項目をまとめてお伝えします。

では、行ってみましょう!

デフォルトの状態で置換をする

まず、お題として以下のようなWord文書を用意しました。

置換前のWord文書

「Word」という言葉ですが、少しずつパターンを変えて4つ用意しました。半角&全角、そして先頭文字がお大文字&小文字という組み合わせです。

この文書の先頭にカーソルを置いた状態で、以下のプロシージャを実行してみます。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

「Word」という単語を「ワード」に置換する内容ですからね、実行をすると…

デフォルト時にWord VBAで置換

このように全部「ワード」に置換されました。

Word VBAでの置換は、デフォルトでは全角と半角の違いも、大文字と小文字の違いも区別されないんですね。

MatchCaseプロパティで大文字と小文字を区別を設定する

では、まず大文字と小文字の区別をするように設定しましょう。

FindオブジェクトのMatchCaseプロパティを使います。

Trueにすると検索時に大文字と小文字を区別するようになります。

Findオブジェクト.MatchCase = True

プロシージャにこの設定を追加しましょう。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .MatchCase = True
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

置換前のWord文書に対してこのプロシージャを実行してみましょう。

Word VBAで大文字・小文字を区別して置換

すると、このように頭文字が小文字の「word」は半角、全角ともに置換されませんでした。検索オプションが効いていますね。

MatchByteプロパティで全角と半角の区別を設定する

では、続いて全角と半角を区別するように設定をしましょう。

MatchByteプロパティを使います。

Trueに設定をすると全角と半角を区別して検索をするようになります。

Findオブジェクト.MatchByte = True

では、先ほどのMatchCaseプロパティの設定を、MatchByteプロパティの設定に変更をしました。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .MatchByte = True
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

これを置換前のWord文書に対して実行してみると…

Word VBAでは検索オプションは重ね掛け

おや?

全角の文字列が置換されなかったのは良いのですが、なぜか半角の「word」が置換されていませんね…

Word VBAの検索オプション設定は「重ね掛け」

この謎を解き明かしてみましょう。

Wordで Ctrl + F でナビゲーションメニューを開いて、検索メニューのオプションを選択してみてください。

Wordの検索オプションを開く

すると、「検索オプション」ウィンドウで現在の検索オプションの状態を確認できるのですが、以下のように

  • 大文字と小文字を区別する
  • 半角と全角を区別する

の両方にチェックが入っています。

Wordの検索オプションを確認

つまり、検索オプションの設定は「重ね掛け」になるんですね。プロシージャ実行時の設定が生きたままリセットされません。

Wordアプリケーションを立ち上げ直すと検索オプションがリセットされますが、Wordを立ち上げたまま、設定が異なる検索を複数回行うのであれば、以下のように関係するプロパティのTrue・Falseを都度設定をするのが安心です。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .MatchByte = True
    .MatchCase = False
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

そうすれば、以下のように全角と半角の区別だけをみて検索ができるようになります。

Word VBAで全角・半角を区別して置換

検索時に設定できる検索のオプション一覧

Wordには、その他にも検索オプションの設定項目はたくさんあり、デフォルトの状態の検索オプションは以下のような状態になっています。

デフォルトのWordの検索オプション

この設定一つ一つにFindオブジェクトのプロパティが対応をしていますので、以下表にまとめました。

プロパティ 既定値 検索オプションの設定
MatchCase False 大文字と小文字を区別する
MatchWholeWord False 完全に一致する単語だけを検索する
MatchWildcards False ワイルドカードを使用する
MatchSoundsLike False あいまい検索(英)
MatchAllWordForms False 英単語の異なる活用形も検索する
MatchPrefix False 接頭辞に一致する
MatchSuffix False 接尾辞に一致する
MatchByte False 半角と全角を区別する
IgnoreSpace False 空白文字を無視する
IgnorePunct False 句読点を無視する
MatchFuzzy True あいまい検索(日)

以下、いくつかの設定について補足しますね。

完全に一致する単語だけを検索するMatchWholeWordプロパティ

設定内容については、その名前通りです。けっこう使いどころが多そうな印象がありますが、残念ながら単語の前後に半角スペースがないと機能しません。日本語ではちょっと使いづらいですね。

あいまい検索(英)MatchSoundsLikeプロパティ

日本語の呼び名よりも、プロパティ名のほうが説明としてはわかりやすいですね。Trueにすると、なんと発音が同じ英単語も含めて検索をするそうです。英語あまり使わないからわからないのですが、使いどころあるんでしょうか…。

あいまい検索(日)MatchFuzzyプロパティ

Trueにすると、ひらがなとカタカナや、「広」と「廣」などの漢字の異体字などの区別をなくして検索をします。

まとめ

Word VBAで検索オプションを設定して検索をする方法と、オプションに対応をするプロパティ一覧を紹介しました。

よく使うプロパティはMatchCaseプロパティ、MatchByteプロパティあたりでしょうか。

注意点としては、Wordアプリケーションを起動している間は、検索オプションは重ね掛けになりますので、実行のたびに必要に応じてFalseにすることを忘れないようにして下さいね。

次回は、Word VBAで検索の範囲や方向をコントロールする方法についてお伝えします。

どうぞお楽しみに!

連載目次:Word VBAで色々な検索&置換をする方法

Word VBAのFindオブジェクトを使えば色々な条件で目的を探し当てて置換、書式設定、その他、いろいろな処理を施すことができます。Word VBAの検索の最初の一歩から順番にお伝えしていきます!
  1. Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
  2. Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
  3. Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ
  4. Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説
  5. Word VBAで検索オプションを設定して検索をする方法とそのプロパティ一覧

Googleスプレッドシートで作成した収支報告書をメンバーと共有してみた

$
0
0

google,スプレッドシート,収支報告書,共有,eyecatch

皆様こんにちは、ノグチです。

前回記事では、Googleスプレッドシートを使って、収支表と収支報告書を簡単に作成する方法をご紹介しました。

Googleスプレッドシートで関数を使って簡単に収支報告書を作ってみた
Googleスプレッドシートで作成した収支表から、関数を使って超シンプルな収支報告書を簡単に作成する方法をご紹介しています。関数をうまく使えば、収支表を入力するたびに収支報告書の金額を更新させることができますよ。関数を使えば、計算ミスともオサラバです!

今回は、作成した収支報告書を、Googleスプレッドシートの共有と、共有以外の方法でメンバーへ展開する方法をご紹介します。

Googleスプレッドシートの共有とは

そもそも、Googleスプレッドシートの共有って何ができるのか。

Googleスプレッドシートの共有は、自分以外の人でも、自分が指定したスプレッドシートにアクセスできるようになる機能です。

例えば、前回の記事で作成した収支報告書。

Google,スプレッドシート,共有,収支報告書

この報告書をメンバーにも見てほしい場合、わざわざスプレッドシートを印刷したり、PDFにしてメールやチャットで送信しなくても、Googleスプレッドシートのありかをメンバーに教えておけば、直接Googleスプレッドシートを直接見てもらえるのです。

共有権限の4つの設定

では、作成した収支報告書をメンバーと共有する前に、このスプレッドシートにアクセスしたメンバーが、このスプレッドシート上でできる操作を決めておきます

まず、スプレッドシートの右上にある「共有」をクリックします。

Google,スプレッドシート,共有

すると、「他ユーザとの共有」の画面が開きます。
google,スプレッドシート,共有,権限
いわゆる権限の設定ができるようになっており、おおまかに4パターンの設定をすることができます。
  • リンクを知っている全員が編集可
    このGoogleスプレッドシートのURLを知っている人なら誰でもスプレッドシートにアクセスでき、閲覧はもちろん編集やコメントの挿入ができる。

 

  • リンクを知っている全員がコメント可
    このGoogleスプレッドシートのURLを知っている人なら誰でもスプレッドシートにアクセスでき、閲覧とコメントの挿入ができる。(編集は不可)

 

  • リンクを知っている全員が閲覧可
    このGoogleスプレッドシートのURLを知っている人なら誰でもスプレッドシートにアクセスでき、閲覧できる。(編集やコメントの挿入は不可。ただスプレッドシートを見るだけ。)

 

  • 特定のユーザだけがアクセス可
    メールアドレスで指定されたメンバーだけが、そのスプレッドシートにアクセスできるようになる。

「リンクを知っている全員が~」を選択した場合、メンバーはURLをクリックすれば即スプレッドシートにアクセスでき、編集・コメント追加・閲覧のいずれかができるようになります。

メンバーとスプレッドシートを共有する

では、いよいよ共有の設定をしていきましょう。

共有の方法は大まかに、「スプレッドシートのURLをメンバーに教えて共有する」方法と、「スプレッドシートの共有設定からメンバーを招待する」方法の2種類があります。

メンバーにURLを教えて共有する

まず、メンバーにこのスプレッドシートのURLを教えてアクセスしてもらう方法です。

共有設定の画面に表示されているURLを、メール、チャットなどでメンバーに伝えます。

Google,スプレッドシート,共有,URL
ドキュメントの共有設定で、「リンクを知っている全員が~」の設定をしておけば、自分以外のメンバーがこのドキュメントに自由にアクセスできるようになります。

スプレッドシートの共有設定からメンバーを招待する

共有設定の画面で、スプレッドシートにアクセスできるメンバーを指定することもできます。

ドキュメントの共有設定を開いて…
Google,ドキュメント,共有,招待
「ユーザー」に、共有したい人のメールアドレスを入力して「送信」ボタンを押すと、「ユーザー」に入力された人に、スプレッドシートへの招待メールが届きます。
Google,ドキュメント,共有,招待,メンバー
あとはこのメールを受信したメンバーが、「スプレッドシートを開く」をクリックすれば、該当のドキュメントにアクセスできるようになります。

メンバーから承認依頼を送ってもらう

ドキュメントの共有設定で「特定のユーザだけがアクセス可」にしていた場合でも、メンバーにURLを教えておいて、メンバーから権限のリクエストを送ってもらうことができます。

まず、メンバーがアクセス権のないドキュメントのURLを開くと、「このドキュメントにアクセスするには権限が必要ですよ」という内容の画面が開きます。

Google,ドキュメント,共有,権限リクエスト
そしてこの画面の「アクセス権限をリクエスト」をクリックすると、ドキュメントの管理者に「〇〇さんがドキュメントのアクセス権限をリクエストしてますよ」という内容のメールが届きます。
Google,ドキュメント,共有,リクエスト,メール
このメールを受け取った管理者は、メール本文にある「共有設定を開く」をクリックして該当のドキュメントの共有の画面を開き…
Google,ドキュメント,共有,権限,承認
「送信」をクリックしてあげれば、権限をリクエストした人もこのドキュメントにアクセスできるようになります。

共有以外の展開方法

ここまではスプレッドシートの共有を使って、メンバーに展開する方法をご紹介しました。

もちろん、共有以外の方法でメンバーにスプレッドシートを展開する方法もあります。
代表的なのは、
  • 紙に印刷
  • PDF形式で出力してメールで送信したり、共有フォルダに格納する
  • スクリプトを使ってスプレッドシートをPDFに変換してGmailでメンバーに自動送信

といったところでしょうか。

ちなみに、3つめの「スクリプトを使ってスプレッドシートをPDFに変換してGmailでメンバーに自動送信」については、tadakenさんの下記の記事で紹介されていますので、ご覧ください。
【GAS】スプレッドシートをPDFにしてGmailで送付する方法
Google Apps Scriptを使って、作成したレポートをPDFにして、メールで送付するテクニックを紹介します。初心者の方でもグラフ作成から、レポート作成、メールでの共有まで、自動化することができるようになります。

 

毎週や毎月など、定期的にメンバーに展開したい場合は、こちらの方法が効率的ですね。

スクリプトを使った自動送信なら、ファイル添付漏れや送信先の間違いもありません!

まとめ

いかがでしたでしょうか。

今回は、Googleスプレッドシートで作成した収支報告書をメンバーと共有する方法をご紹介しました。

私は実際に前回の記事で作成したような収支表を作成して、メンバーと共有して使用しています。

利用して数か月になりましたが、メンバーと簡単に共有できる、スマートフォンで入力ができるという部分にかなり便利さを感じています。

ただ、収支表の入力作業がほぼスマーフォンからになるのですが、使い慣れるにつれて入力のしにくさも感じましたので、入力画面の改修をすることにしました。

その入力画面の改修については、次回以降でご紹介していきます。

それでは、最後までお読みいただきありがとうございました!

連載目次:Googleスプレッドシートで超簡単!収支表を作成しよう

スプレッドシートで収支表を作れば、スマホでも入力でき、共有もできるようになります。本シリーズではスプレッドシートを使って超簡単に収支表を作成する方法をお伝えしています。
  1. スマホからの入力も可能!Googleスプレッドシートで超簡単に収支表を作成してみた
  2. Googleスプレッドシートで関数を使って簡単に収支報告書を作ってみた
  3. Googleスプレッドシートで作成した収支報告書をメンバーと共有してみた

Word VBAで検索の方向を変更する方向と文書全体を検索する方法

$
0
0
forward

photo credit: Hindrik S Right Direction #1 via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAでいろいろな検索や置換をする方法についてお伝えしています。

前回の記事はコチラ!

Word VBAで検索オプションを設定して検索をする方法とそのプロパティ一覧
Word VBAで色々な検索や置換をする方法についてお伝えしています。今回はWord VBAで検索オプションを設定して検索をする方法をお伝えしつつ、その設定をするプロパティ一覧ををまとめています。

Word VBAで検索オプションを設定する方法と、そのプロパティ一覧についてお伝えしました。

さて、Selection.Findですと、カーソル位置より前は検索してくれなかったりします。

ですが、カーソル位置より前も検索したいときあるじゃないですか…?

これにはいくつか方法があるのですが、今回はFindオブジェクトのForwardプロパティを使う方法とWrapプロパティを使う方法の二つの方法についてお伝えします。

では、Word VBAでカーソル位置の前の文書も検索する方法です。

行ってみましょう!

前回のおさらいと今回のお題

では、前回のおさらいもかねて、今回のお題を確認しておきましょう。

まず、Word文書が以下のようなカーソル位置にあるとします。

Word文書のカーソル位置

この状態で以下のプロシージャを実行するとどうなるか、わかりますか?

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

このプロシージャは本シリーズ連載ではおなじみですが、「Word」という単語を検索して「ワード」に置換するものです。

実行をすると、以下のようにカーソル位置より前は置換がなされません。

Word VBAの置換でカーソル位置以降は置換されない

Selectionオブジェクトに対するFindメソッドは、デフォルトではカーソル位置以降のみが検索&置換対象になるのです。

Forwardプロパティで検索の方向を変える

カーソル位置より前の範囲を検索対象とする方法はいくつかあります。

最も単純な方法は、FindオブジェクトについてのForwardプロパティの値を変更して検索の方向を逆にすることです。

Wordの検索オプションでいう、「検索方向」に対応をしています。

Wordの検索オプションの検索方向

検索方向 説明
True 下へ 文書に対して末尾の方向(順方向)に検索
False 上へ 文書に対して先頭の方向(逆方向)に検索

既定値ではTrueに設定、つまり順方向ですから、これをFalseに設定すればよいですね。

Findオブジェクト.Forward = False

プログラムとしてはこうですね。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .Forward = False
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

これを先ほどと同じ条件で実行すると、以下のようにカーソル位置の前だけが置換されるようになります。

Word VBAで逆方向に検索して置換した

Wrapプロパティの設定で先頭から再検索する

もう一つの方法が、FindオブジェクトのWrapプロパティを使う方法です。

Wrapプロパティは検索が文書の末尾(または先頭)に到達したときの挙動を設定するプロパティで、以下WdFindWrap定数のいずれかを指定します。

Findオブジェクト.Wrap = WdFindWrap定数
定数 末尾(または先頭)に到達したときの挙動
wdFindStop 検索を終了する
wdFindContinue 先頭(または末尾)に戻って検索をする
wdFindAsk 先頭(または末尾)に戻って検索をするかメッセージで確認をする

既定値はwdFindStopなので、最後まで検索すると止まっちゃうんですね。

先頭に戻って検索をする

では、WrapプロパティにwdFindContinueを設定する、つまり文書全体の検索としてみましょう。

プロシージャはこうなりますね。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .Wrap = wdFindContinue
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

同様の条件で実行すると、以下のようにカーソルの位置に関わらず、全てが置換されます。 

Word VBAで文書全体を置換した

ちなみに、このWrapプロパティをwdFindContinueに設定した状態が、検索オプションの「文書全体」に対応しているということになりますね。

戻って検索をするかメッセージ確認をする

今度はWrapプロパティにwdFindAskを設定して、戻って検索をするかメッセージを表示させてみましょう。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .Wrap = wdFindAsk
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

実行しますと以下のような「先頭から検索を続けますか?」というメッセージが表示されます。

Word VBAで末尾まで検索したときのメッセージ

ちなみに、ForwardプロパティをFalseに設定つまり検索の方向を逆方向にした場合に、WrapプロパティをwdFindAskに設定したらどうなるのでしょうか。

プロシージャは以下のようになりますね。

Sub replaceText()

With Selection.Find
    .Text = "Word"
    .Forward = False
    .Wrap = wdFindAsk
    .Replacement.Text = "ワード"
    .Execute Replace:=wdReplaceAll
End With

End Sub

実行して表示されるメッセージは「最後から検索を続けますか?」になります。

Word VBAで先頭まで検索したときのメッセージ

そんなに実用的ではないですけどね。

まとめ

Word VBAで検索の方向を変更する方法、また最後まで検索したときに先頭に戻るかどうかを設定する方法についてお伝えしました。

ちなみに、ForwardプロパティもWrapプロパティも他のFindオブジェクトのプロパティと同様、「重ね掛け」になります。

Wordアプリケーションを再起動しないと、前のプロシージャ実行での設定が引き継がれますので、その影響がありそうなときは、都度設定をし直すようにすべきでしょう。

次回は、検索にワイルドカードを使う方法についてお伝えします。

どうぞお楽しみに!

連載目次:Word VBAで色々な検索&置換をする方法

Word VBAのFindオブジェクトを使えば色々な条件で目的を探し当てて置換、書式設定、その他、いろいろな処理を施すことができます。Word VBAの検索の最初の一歩から順番にお伝えしていきます!
  1. Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
  2. Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
  3. Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ
  4. Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説
  5. Word VBAで検索オプションを設定して検索をする方法とそのプロパティ一覧
  6. Word VBAで検索の方向を変更する方向と文書全体を検索する方法

簡単に本格的な社内ポータルサイトを作成できるGoogleサイトとは?

$
0
0

こんにちは!とくP(@toku_jpn)です!

みなさんは職場で社内ポータルサイトを活用されていますか?社内ポータルサイトがあると会社の情報やツールに素早く利用、アクセスすることが出来る環境ができあがります。

とは言っても…実際に作成したり設定したりするのは大変そう…と思われている方も多いと思います。

そこで、今回からITの専門的な知識がなくても簡単に本格的な社内ポータルサイトを作成する方法を主にGoogleのサービスを活用する方向でご紹介していきます!

第一回目は社内ポータルサイト自身を作成するツールとしてオススメするGoogleサイトについてその概要をご紹介します。

社内ポータルサイトとは

職場で利用されていない方などで「そもそも社内ポータルサイトって何?」と思われる方もいらっしゃるかもしれませんのでご説明しますね。

ポータルは英語で入り口という意味で、社内向けのツールやデータへの入口となる存在が社内ポータルサイトとなります。社内のツールやデータの代表例は

  • 社内イベントカレンダー
  • 社長メッセージ
  • 社内報
  • ダッシュボード
  • ダウンロード
  • リンク集

といったものがあります。これら社内向け機能をひとつにまとめてアクセスしやすい環境を築くことで、作業や情報共有をしやすくするのが社内ポータルサイトの役割です。

Googleサイトとは

GoogleサイトはGoogleが提供しているWebサイトを簡単に作成するサービスです。Googleサイトを活用することで、以下のようなサイトもコードを書くことなくボタン操作やドラッグ・アンド・ドロップなどの簡単な操作で作成することができます。

なお、Googleサイトは実は昨年2016年11月に大幅リニューアルされたばかり!

ネット上にあるGoogleサイトの情報の多くが旧Googleサイトのもので、新Googleサイトについての情報はまだまだ少ない状況なんですよね。

この機会に本ブログを通じて新Googleサイトについてぜひ知っていただけたらと思います!

それでは、Googleサイトとはどんなものかもっと詳しく見ていきましょう!

Googleアカウントがあれば無料で利用可能

Googleアカウントを取得しているユーザーであればどなたでも追加料金なしで利用することができるサービスです。無料アカウント所有の方であれば完全無料でWebサイトを利用できるということになります。

先ほど紹介したレベルのWebサイトを無料で作成できる…のは本当に良い時代になったと思いますね。

※共有設定など一部有料アカウントのみの設定あり

簡単にWebページを作成することができる

GIF動画を見るとお分かりいただけると思うのですがかなり簡単にWebサイトの作成ができます。(GIF参照)

Webページのテンプレートがある程度決まっており、その枠の中でデザインや掲載する情報などを設定するので、ページ設定などに頭を悩ませる事なくスイスイと作成することができます。

他のGoogleサービスで作成したデータを挿入可能

GoogleカレンダーやGoogleドキュメントなど他のGoogleサービスで作成したデータを挿入することができます。

例えば、

  • Googleカレンダーによる会議室の予約状況表示
  • Googleスプレッドシートで作成した毎月の売上表の表示
  • Googleフォームで作った日報入力フォーム
  • Googleドキュメントで作成した社内マニュアル
  • 書式が格納されているGoogleドライブのフォルダ
  • Googleマップでイベント開催地の記載

といったものですね。

各データの共有設定もGoogleページ上で反映されますので、例えば一部の社員はカレンダーの予定を見ることができない…といった設定をすることも可能です。

スマホ画面にも対応している

Googleサイトで作成したWebサイトはスマホやタブレットサイズにも対応しています。いわゆるフレキシブルデザインです。(GIF参照)

作成時に難しい設定などをすることなく自動的にフレキシブル対応がなされるため、どなたでも簡単にスマホ対応サイトを作成できます!新Googleサイトになって初めて搭載された機能です!

サイトの共有範囲を設定することができる【一部有料版のみ】

Googleサイトで作成したWebサイトは共有範囲を設定することができます。

G Suiteアカウントを所有している法人であれば社員のみがアクセスすることができるWebサイトを作成することができます。

無料版は個人での利用を想定しているので会社内のみ閲覧可能と行ったページは作成できないのですが、検索エンジンなどで検索結果に出てきにくくするといった設定はすることができます。

カレンダーやドキュメントなどページ内に掲載するデータの共有範囲は有料・無料版ともに設定可能なので、無料版でもある程度のプライバシーを確保することは可能です。

おわりに

いかがでしたか。

今回は社内ポータルサイトを作成する連載第一回目ということでGoogleサイトとは何かについて見ていきました!

このGoogleサイトを軸にして社内ポータルサイトを作成していきます!思ったより難しくないかも!と感じていただけましたか?社内ポータルサイト以外にもセミナー告知サイトなどの作成にも使えますので覚えておくと便利ですよ!

基本無料で簡単にサイト作成ができるどなたでも気軽に使えるサービスですので、まずはぜひお試しで触ってみてくださいね!

それでは!

Word VBAでワイルドカードを使ったパターン検索をする方法

$
0
0
joker

photo credit: Leo Reynolds VIP [detail] via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Word VBAでいろいろな検索と置換をする方法についてシリーズでお伝えしています。

前回の記事はコチラ。

Word VBAで検索の方向を変更する方向と文書全体を検索する方法
Word VBAでいろいろな検索や置換をする方法についてお伝えしています。今回はForwardプロパティで検索方向を変える方法、Wrapプロパティで文書全体を検索する方法についてお伝えします。

検索の方向や文書の最後まで検索したときの挙動をコントロールする方法をお伝えしました。

さて、Wordではワイルドカードを使った多種多様な検索をかけることができますが、VBAでももちろん実現をすることができます。

今回はWord VBAでワイルドカードを使った検索をする方法についてお伝えします。

Wordでワイルドカードを使った検索をする

WordではExcelよりもはるかに高度なワイルドカードを使えるの、ご存知でした?

定番は任意の1文字を表す「?」や、任意の文字列を表す「*」なのですが、Wordではほかにも多数のワイルドカードが用意されています。

それぞれの組み合わせで、様々な文字列のパターンで検索をすることができます。

記号 意味 使用例
? 任意の1文字 第?回 s?t
* 任意の文字列 第*回 s*t
< 単語の先頭 <第 <pre
> 単語の末尾 回> fix>
[ ] 候補中のいずれか1文字 [abcde] [東西南北]
[-] 範囲内のいずれか1文字 [0-9] [a-zA-Z] [ぁ-ん]
[! ] 候補以外のいずれか1文字 [!abcde] [!東西南北]
( ) グループ化して式を生成 (ピヨ) ([0-9]{1,3})
{n} 直前の文字または式をn回繰り返し go{2}gle
{n,} 直前の文字または式をn回以上繰り返し [0-9]{1,}円
{n,m} 直前の文字または式をn~m回の間で繰り返し [0-9]{1,3}ページ
@ 直前の文字または式を1回以上繰り返し lo@p

たくさんありますね~。

Wordの検索オプションで「ワイルドカードを使用する」をオンにすれば、これらのワイルドカードを使用することができるようになります。

Wordの検索でワイルドカードを使用する

MatchWildcardsプロパティでワイルドカードを使用する

Word VBAでの検索時にワイルドカードを使用する設定をする場合は、FindオブジェクトのMatchWildcardsプロパティをTrueにする必要があります。

Findオブジェクト.MatchWildcards = True

その上で、FindオブジェクトのTextプロパティに検索パターンを設定して検索を実行すればよいのですが…

MatchWildcardsプロパティ設定時に実行時エラーが発生する理由

しかし、例えば以下のようなプロシージャを実行しても

Sub findPattern()

With Selection.Find
    .Text = "第?位"
    .MatchWildcards = True
    Do While .Execute
        Stop
    Loop
End With

End Sub

「MatchPhrase、MatchWildcards、MatchSoundsLike、MatchAllWordForms、MatchFuzzyパラメーターは、同時にTureに設定することはできません。」という実行時エラーが発生します。

Word VBAでMatchWildcardsを使用したときの実行時エラー

…なんという複雑な条件なんでしょう。

Wordの検索オプションはデフォルト時には以下のような設定になっています。

プロパティ 既定値 検索オプションの設定
MatchWildcards False ワイルドカードを使用する
MatchSoundsLike False あいまい検索(英)
MatchAllWordForms False 英単語の異なる活用形も検索する
IgnoreSpace False 空白文字を無視する
IgnorePunct False 句読点を無視する
MatchFuzzy True あいまい検索(日)

※MatchPhraseは空白文字を無視する、句読点を無視する、両方の設定を同時に対応したプロパティです。

以下の記事で詳細をお伝えしています。

Word VBAで検索オプションを設定して検索をする方法とそのプロパティ一覧
Word VBAで色々な検索や置換をする方法についてお伝えしています。今回はWord VBAで検索オプションを設定して検索をする方法をお伝えしつつ、その設定をするプロパティ一覧ををまとめています。

つまり、MatchFuzzyがTrueになっているので、ダメだよと怒られちゃっているわけですね。

MatchFuzzyプロパティをFalseに設定する

ですから、以下のようにMatchWildcardsプロパティをTrueにする前に、MatchFuzzyプロパティをFalseにしてあげます。

Sub findPattern()

With Selection.Find
    .Text = "第?位"
    .MatchFuzzy = False
    .MatchWildcards = True
    Do While .Execute
        Stop
    Loop
End With

End Sub

これを実行すると、無事に以下のように「第~位」というワードを検索できるようになるわけです。

Word VBAでワイルドカードを使った検索をする

ワイルドカードを使ってパターンで検索をする例

他の検索パターンも見てみましょう。

ページ数を表すパターン

例えば、任意の1桁から3桁までの半角数字に「ページ」という文字列を組み合わせたパターンは

[0-9]{1,3}ページ

とすればよいですね。

Word VBAでワイルドカードを使ってページ数を検索する

カンマ入りの金額を表すパターン

また、カンマ区切りが入っている任意の半角数字の数値にプラスして「円」の文字列をマッチさせたいときは

[0-9,]{1,}円

とします。

Word VBAでワイルドカードを使って金額の検索をする

まとめ

Word VBAでワイルドカードを使った検索をする方法についてお伝えしました。

パターンの作り方は少しややこしいですが、他にも郵便番号や電話番号など様々なパターンを生成できますので、頑張ってトライしてみてください。

また、MatchFuzzyプロパティのオフについては忘れずに!

次回はワイルドカードを使った置換の方法についてお伝えしていきます。

どうぞお楽しみに!

連載目次:Word VBAで色々な検索&置換をする方法

Word VBAのFindオブジェクトを使えば色々な条件で目的を探し当てて置換、書式設定、その他、いろいろな処理を施すことができます。Word VBAの検索の最初の一歩から順番にお伝えしていきます!
  1. Word VBAで文字列を検索するFindオブジェクトを使った最も基本のプログラム
  2. Word VBAでカーソル位置から連続で検索をして蛍光ペンでハイライトをする
  3. Word VBAで選択範囲のフォント設定を変更する方法とそのプロパティまとめ
  4. Word VBAで文字列を置換する方法!いくつかの基本パターンを徹底解説
  5. Word VBAで検索オプションを設定して検索をする方法とそのプロパティ一覧
  6. Word VBAで検索の方向を変更する方向と文書全体を検索する方法
  7. Word VBAでワイルドカードを使ったパターン検索をする方法

VBScriptでWEBスクレイピング!ファイルシステムオブジェクトでテキストに書き出す

$
0
0

こんにちは!あつもり(@atumori17)です。

VBScriptでIEを操作してWEBスクレイピング!の第2回目で~す。
前回はIEで複数のWEBサイトを一発で開くスクリプトを紹介しました。

VBScriptでInternet Explorerを使って複数WEBサイトをダブルクリック一発で開く方法
WEBスクレイピングでIEを起動して複数のサイトを別タブで同時に開くことができるスクリプトの紹介です。WEBスクレイピングとはプログラムでIEを操作して、WEBサイトに自動でログインしたり、膨大な情報の中から必要な情報だけを取得するテクニックです。

いよいよWEBスクレイピングでWEBサイトの情報を取得していきたいところですが、もう少し我慢してください。今回はVBScriptでファイルシステムオブジェクトを使ってテキストファイルに書き出す方法を紹介します。

なぜならWEBサイトから必要な情報を取得しても、保存する場所がなければ取得したデータを使うことはできないからです。

エクセルVBAを使ってWEBスクレイピングをやるならエクセルのワークシート上に保存したり、WEBアプリケーションからやるならMySQLなどのデータベース上に保存したりすると思います。

今回はVBScriptを使いますのでシンプルにテキストファイルに保存しようと思います。

データをテキストファイルに書き出すスクリプト

テキストエディタを開き下記のコードを入力します。全て入力し終わったら「テキストファイルに出力.vbs」などのファイル名でデスクトップに保存します。

Option Explicit
'テキストファイルに書き出す
OutputText "テキストファイルに書き出すテストです"

'テキストファイルへ出力
Function OutputText(ByVal strMsg)

    Dim objFSO
    Dim objText

    'ファイルシステムオブジェクト
    Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
    'テキストファイルを開く
    Set objText = objFSO.OpenTextFile("C:\work\出力テスト.txt", 8, True)

    objText.write strMsg
    objText.write vbCrLf

    objText.close

    'オブジェクト変数をクリア
    Set objFSO = Nothing
    Set objText = Nothing

End Function

ソースコードの解説

自作関数に引数を渡して呼び出す

OutputText関数は自作した関数です。ソースコードの5行目から25行目になります。今回紹介するテキストファイルに書き出す処理をこの部分に書いています。

関数にすることでプログラムの中の使いたい箇所で呼び出すことができるので大変便利です。1行書くだけでで呼び出すことができるのでソースコードの可視性も上がりますよ

関数名 引数

今回のプログラムの場合「テキストファイルに書き出すテストです」という文言を引数としてOutputText関数に渡しています。

ファイルシステムオブジェクトでテキストファイルに書き出す

テキストファイルを読み書きするには、ファイルシステムオブジェクトを使います。ファイルシステムオブジェクトを使うとドライブやフォルダ、ファイルを操作できるようになります

次のように書くことでファイルシステムオブジェクトが使えるようになります。

Set FSOオブジェクト = WScript.CreateObject(“Scripting.FileSystemObject”)

OpenTextFileメソッドで書き出すファイルを開く

さきほどセットしたファイルシステムオブジェクトを使ってテキストファイルを開きます。

FSOオブジェクト.OpenTextFile(“ファイルパス”, モード, 作成方法)

「ファイルパス」にはテキストファイルを書き出す場所を指定します。
「モード」は読み取り専用なのか、追加書き込みできるかなどを指定できます。

内容
1 読み込み専用モード
2 新規書き込みモード
8 追加書き込みモード

「作成方法」はファイルパスで指定したファイルがなかった場合の処理を示します。ファイルがなかった場合、Trueなら新規作成、Falseなら作成しません

上記のソースコードだと以下のようになります。

Set objText = objFSO.OpenTextFile("C:\work\出力テスト.txt", 8, True)

writeメソッドでテキストファイルに書き込む

TextStreamオブジェクト.write 文字列

と書くことでOpenTextFileメソッドで開いたテキストファイルに文字列を書き込むことができます。書き込む文字列は今回の場合、ソースコード5行目の「テキストファイルに書き出すテストです」になります。

TextStreamオブジェクトとはテキストファイルを読み書きするためのオブジェクトです。

TextStreamオブジェクト.write vbCrLf

文字列を書き込んだあとに改行コードであるvbCrlfを入れて、書き出すテキストファイルに改行を入れています。

OutputText関数を何度も呼び出す場合、呼び出すごとに改行を入れないと見づらくなるからです。

closeメソッドでテキストファイルを閉じる

開いたテキストファイルを閉じます。

TextStreamオブジェクト.close

閉じたあとにオブジェクト変数をメモリから解放します。

Set FSOオブジェクト = Nothing
Set TextStreamオブジェクト = Nothing

アプリケーションを実行してみる

では実際に起動してみます。デスクトップにある「テキストファイルに出力.vbs」をダブルクリックして起動します。

OpenTextFileメソッドで指定したパスに「出力テスト.txt」ができました。

「テキストファイルに出力テスト.txt」を開くと「テキストファイルに出力テストです」が書かれています。

まとめ

いかかでしたか?今回の内容をまとめると以下のようになります。

  • テキストファイルに書き出すにはファイルシステムオブジェクトを使う
  • OpenTextFileメソッドで書き出すファイルを開く
  • OpenTextFileメソッドは読み込み専用、新規書き込み、追記書き込みなどのモードが選べる

テキストファイルに書き出すテクニックを覚えておけば色々な場面で使えますよ。WEBスクレイピングで取得した情報を書き出すことはもちろん、VBScript上で発生したエラーをログファイルとして書き出すなんてこともできますよ。

今回は以上です。それではお疲れさまでした~。

連載目次:VBScriptでお手軽WEBスクレイピング

Windowsを操作できるプログラミング言語「VBScript」を使えば、InternetExplorerを操作してWEBスクレイピングが可能です。 これで日々の情報収集はダブルクリック一発で完了させましょう!
  1. VBScriptでInternet Explorerを使って複数WEBサイトをダブルクリック一発で開く方法
  2. VBScriptでWEBスクレイピング!ファイルシステムオブジェクトでテキストに書き出す
Viewing all 2091 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>