(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。初心者向けエクセルVBAのシリーズとして請求書を作成するマクロの作り方をお伝えしています。前回の記事はこちらです。初心者向けエクセルVBAのシリーズとして請求書を作成するマクロの作り方をお伝えしています。今回は、エクセルVBAで新たなブックを開く方法です。コレクションやWorkbooksプロパティについても解説しますよ。tonari-it.com2018.03.04Openメソッドを使ってブックを開く方法をお伝えしました。その場合、引数としてフルパスを指定する必要がありますが、開くファイルが現在マクロを記述しているブックと同じフォルダにあるのであれば、ちょっと簡単に記述することができます。ThisWorkbookプロパティとPathプロパティというのを使います。いうことで、今回はエクセルVBAで現在マクロを書いているブックのフォルダのパスを取得する方法についてお伝えします。こちらの記事は以下のYouTube動画と連動していますので、合わせてご覧くださいませ。取引先ごとの請求書を作成したいさて、今目指しているのは、以下のようなフローで取引先ごとの請求書を作成するプログラムです。以下の動作を「取引先マスタ」シート(wsClient)にリストしている取引先の分だけ繰り返します。「請求書ひな形.xlsx」をワークブックとして開く該当の取引先の請求データを「請求書ひな形」に転記および各種情報を書き込むブック名を「yyyymm請求書_取引先名.xlsx」として別名で保存フルパスを指定せずにファイルを開きたい前回の復習としては、以下のステートメントで「請求書ひな形.xlsx」を開けるということについてお伝えしました。02\請求書ひな形.xlsx"ただ、フルパスを調べるのはちょっと面倒ですし、このステートメントを使いまわすことはできませんよね。今回は、この問題を解決していきます。現在マクロを書いているブックを取得するOpenメソッドの引数は開くブックの「フルパス」ですね。「請求書ひな形.xlsx」は、現在マクロを書いているファイルの同階層にありますから、「現在マクロを書いているブックと同じパス」というテクニックを使うことができます。現在マクロを書いているブックですが、これはApplicationオブジェクトのThisWorkbookプロパティで取得することができます。Application.ThisWorkbookApplicationオブジェクトは省略可能ですので、単純にThisWorkbookでもOKです。これで、「現在マクロを書いているブック」はWorkbookオブジェクトとして取得できますね。ActiveWorkbookとの使い分けThisWorkbookになんとなく似ているプロパティとして、ActiveWorkbookプロパティというのがあります。これはその名の通り、アクティブなワークブックを取得するプロパティです。Applicationオブジェクトのメンバーなので、オブジェクトを省略してActiveWorkbookとだけ記述することで、アクティブなブックを指定することができます。これには以下の記事でお伝えしているActiveSheetと同様のリスクがあります。初心者向けエクセルVBAのシリーズとして請求データから請求書を作成するマクロの作り方をお伝えしています。今回はWorksheetオブジェクトを変数にセットして取り扱う方法についてお伝えします。tonari-it.com2018.03.01つまり、マクロを実行中に、ユーザー操作によってアクティブなブックが変更されてしまうと、本来想定していないワークブックが処理の対象となってしまう可能性があるというリスクです。一方で、ThisWorkbookはユーザーの操作に関係なく同一のブックを指し示しますので、こちらが使える場合はこちらが安全です。ActiveWorkbookを使うのであれば、すぐさまオブジェクト変数にセットして使用するほうが良いでしょう。ブックのパスを取得する次に、Workbookオブジェクトのパスを取得する方法ですね。Pathプロパティを使います。Workbookオブジェクト.Pathですから、以下のようにイミディエイトウィンドウに入力すれば、現在マクロを記述しているブックのパスを取得することができます。ThisWorkbook.Pathまとめ以上、エクセルVBAで現在マクロを書いているブックのフォルダパスを取得する方法についてお伝えしました。ThisWorkbookプロパティもPathプロパティも、非常に使いどころの多い便利なプロパティです。マスターしていただければと思います。次回は、ワークブックとそのシートをオブジェクト変数にセットする方法です【初心者向けエクセルVBA】開いたブックとそのワークシートをオブジェクト変数にセットする初心者向けエクセルVBAのシリーズとして、請求書を作成するマクロの作り方をお伝えしています。今回は、エクセルVBAで開いたブックとそのワークシートを取得するには色々な方法がありますので、お伝えします。tonari-it.com2018.03.07どうぞお楽しみに!連載目次:データ一覧から請求書を自動で作るお仕事において特定のデータ一覧から必要な情報を抽出するということは頻繁にありうると思います。ここではデータ一覧から請求書を作るということを目標に、実務で使えるスキルをまっすぐに身に着けることを目的としています。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。【エクセルVBAでAccess連携】データベースのテーブルにレコードを追加するシンプルな方法エクセルVBAでAccessデータベースを操作する方法についてシリーズでお伝えしています。今回はデータベースにレコードを追加するAddNewメソッドを使ったシンプルな方法についてお伝えします。2016.09.12Excel・VBA活用術エクセルVBAでOutlookの受信メールフォルダとサブフォルダ名を書き出す方法エクセルVBAでOutlookの受信メールフォルダにあるメールの内容を、エクセルのワークシートに書き出す方法を、数回の連載でご紹介しています。今回は、GetDefaultFolderメソッドとFoldersプロパティで、受信メールフォルダとサブフォルダの名称を書き出す方法のご紹介です。VBAでコーディングするためのVBEの準備と、VBAで予定を登録する方法をご紹介しています。1件の予定登録の手間は大したことがなくても、複数登録する必要が出てくると面倒臭い...本稿では複数の予定をOutlookにまとめて登録するための第一歩として、単体の予定をVBAで登録する方法をご紹介します。【エクセルVBA入門】開いたブックのファイル名から番号を取り出して数値に変換するエクセルVBAでバラバラの経費精算書のデータをまとめるマクロの作り方をお伝えしています。今回は、開いたブックのファイル名から番号を取り出して数値に変換するために、いくつかの便利な関数を紹介していきます。2018.06.26Excel・VBA活用術エクセルパスワード瞬時解除でシート・ブックのパスワード忘れがもう怖くない!数式保護のためにシートやブックに保護をかけるんですが、前任者からの引継ぎだったり度忘れでパスワード解除が出来なくなってしまって絶望に立たされた方へ救いの手を差し伸べてくれる女神のようなフリーソフト。エクセルパスワード瞬時解除をご紹介いたします。2016.08.25Excel・VBA活用術エクセルVBAでPowerPointでタイトルを変更しながらスライドを大量に生成するエクセルVBAでPowerPointを操作する方法についてお伝えしています。今回はエクセルVBAでPowerPointスライドをスライドタイトルを変更しながら複製する方法についてお伝えします。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント107セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント107セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。ご依頼・お見積などお気軽にどうぞ!お問い合わせフォーム新着記事GASでGoogleスライドのSlideオブジェクトの概要とその取得方法2020.01.162020.01.16【エクセルVBA】ユーザーフォームにコンボボックスを追加する方法2020.01.162020.01.16GASでGoogleスライドを操作するSlidesサービスの基礎の基礎2020.01.152020.01.16GASでGoogleスライドのプレゼンテーションを操作するはじめの一歩2020.01.142020.01.15GASのconsoleクラスのメソッドで実行時間をログ出力する方法2020.01.122020.01.12Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。