2016.04.01みなさん、こんにちは!タカハシ(@ntakahashi0505)です。エクセルVBAは請求書などの書類を自動で作成できるのでとっても便利ですよね。以下の記事から始まるシリーズで初心者向けに請求書を自動で作る方法について解説をしています。【初心者向けエクセルVBA】データ一覧から請求書を自動で作る初心者向けVBAの実用的な使い方について、請求データ一覧から請求書を自動で作成するを目標に進めます。初回はWorksheetオブジェクト、Rangeオブジェクトと、セルの値の操作についてお伝えします。tonari-it.com2015.05.13さて、そのような場合、エクセル形式(.xlsxなど)で保存をするのも良いのですが、取引先に送る場合などはPDFで送りたい場合があります。いうのも、エクセル形式だと内容の修正ができちゃいますから、確定した書類などは修正のできないPDFで提出をしたほうが都合が良いんですね。実は、エクセルVBAではPDF形式での出力も簡単にできちゃいます。いうことで、何回かのシリーズ連載でPDF形式での出力について、色々とお伝えしていきたいと思います。初回の今回は、エクセルVBAでPDFを出力する最も簡単なプログラムと、PDF出力の際にシート1ページに出力する方法についてお伝えしていきます。本当に簡単なので、初心者でもすぐにできますよ。請求書をPDF形式で出力する今回のお題として、このような請求書を考えます。エクセルで作成した一般的な請求書ですね。これをPDFで出力するプログラムはこちらです。fileName:=fileName.........たったこれだけです。変数fileNameは出力するPDFファイルのファイル名です。フルパスで指定するので、ThisWorkbook.Pathを使って請求書ファイルと同じフォルダを指定しています。fileName:=ファイル名とします。上記プログラムを実行しますとPDFがフォルダに生成されます。PDFファイルを開いてみたところがこちらです。ちなみにですが、同じファイル名のファイルが指定フォルダに存在している場合は上書きになります。同じファイル名が開いている状態のときは「実行時エラー」が出てプログラムは中断します。以下のような品目数が多い請求書があったとします。これを上記プログラムでPDF出力してみますと...このように2ページに分かれて出力されてしまいます。すれば良いでしょうか??シートを1ページにPDF出力するこの場合は、印刷の設定でいう「シートを1ページにPDF出力する」というテクニックを使います。印刷するとき2ページ以上に分かれてしまうときは、の設定のときに「印刷」→「シートを1ページに印刷」という設定をしますよね。この設定をVBAプログラムで指定してあげます。シートのPageSetupでページ数に合わせて印刷の設定PageSetupオブジェクトというものがあります。これはシートに対して、印刷関連の設定を行うためのオブジェクトなのですが、設定項目に関するいくつものプロパティを持っています。Falseを使います。これらのプロパティを使うためにはZoomプロパティはFalseに設定する必要があります。fileName:=fileNameとなります。上記プログラムを実行して出力されたPDFを見てみますとこのように1ページに収められていることがわかります。左に寄っていますかね...次回以降調整していきましょう。まとめエクセルVBAでPDF出力をする最も簡単なプログラム、そして出力を1ページに収める方法についてお伝えしました。PageSetupオブジェクトのプロパティは他にもたくさんありまして、様々な設定が可能です。次回はその中から、水平・垂直方向のページ中央の設定、余白の設定などをお伝えできればと思います。エクセルVBAで印刷時のページ中央配置と余白を設定するエクセルVBAでPageSetupオブジェクトを使って印刷設定をページ中央配置にする方法、また上下左右のマージンを設定する方法についてお伝えします。印刷プレビューの表示方法も紹介します。tonari-it.com2016.04.14どうぞお楽しみに!連載目次:エクセルVBAでPDF出力と色々な印刷設定エクセルで見積書や請求書などの帳票を作成する場合、印刷やPDF出力したいときがありますよね。このシリーズでは印刷やPDF出力をする方法、またその際の様々な設定やテクニックについてお伝えします。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。関連記事Excel・VBA活用術エクセルVBAでDir関数を使ってフォルダ一覧を表示する方法エクセルVBAでファイルやフォルダを取り合う使う方法についてお伝えしています。Dir関数を使えばフォルダ一覧の出力もお手のもの。今回は、エクセルVBAでDir関数を使ってフォルダ一覧を表示する方法です。2017.02.05Excel・VBA活用術エクセルVBAでIEを操作するクラスにWebページのテーブルデータをシートに書き出すメソッドを追加するエクセルVBAでIEスクレイピングをするときに便利なクラスの作り方のシリーズです。今回はエクセルVBAによるIEを操作するクラスにWebページのテーブルデータをシートに書き出すメソッドを作成していきます。2019.04.24Excel・VBA活用術エクセルVBAでカレンダーシートの土日祝日の行に背景色をつける方法エクセルVBAで土日祝日を判定し、その行に背景色をつける方法をお伝えします。背景色をつけることでカレンダーに見た目のメリハリがつき見やすくなります。土日祝日を判定する関数とともに紹介します。【エクセルVBAでAccess連携】SQLのSELECT,FROM,WHEREによる様々なデータ抽出方法エクセルVBAでAccessデータベースを操作するシリーズ。今回はAccessデータベースのテーブルから色々なパターンでデータを抽出するSELECT、WHEREの使い方についてお伝えします。2016.08.07Excel・VBA活用術エクセルのユーザー設定で自分好みのリボンメニューを設定する方法エクセルのオプションにある「リボンのユーザー設定」で、新しいメニュータブを追加して、好きなエクセルの機能を配置する方法をご紹介しています。この方法で、エクセルのリボンメニューに、自分好みのメニュータブを追加することができますよ。2018.04.02Excel・VBA活用術エクセルVBAでADODBレコードセットをSortメソッドで並び替えする方法エクセルVBAでAccessデータベースを操作する方法についてシリーズでお伝えしています。ADODBレコードセットの並び順について確認しつつ、Sortメソッドを使って並び替えをする方法についてです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。