これで楽に!?VBA活用こんにちは、Ryoです。Excelで作成したドキュメントをPDF化するケースは多々あると思いますが、VBAを使うことで一般的な手段の専用ソフトを用いて「印刷」からPDF変換する作業をしなくても、PDF化して保存することが出来ます。PDF/XPS保存アドイン」のインストールが必要です)PDFとして保存する際にファイル名や発行ページ指定も出来ますから便利ですので、今回はその方法について書いてみたいと思います。1.サンプルコード◆メソッドPDF形式で保存する場合は「ExportAsFixedFormat」メソッドを使います。構文はやや長くなってわかりにくいのですが、オブジェクト.ExportAsFixedFormat(Type,Filename,Quality,IncludeDocProperties,ignorePrintAreas,From,To,OpenAfterPublish,FixedFormatExtClassPtr)このような形になっています。私が使う上ではType,FileName,From,To,OpenAfterPublishを指定してますので、全て覚えなくとも大丈夫かと思いますが、指定する項目内容は以下になります。FixedFormatExtクラスへのポインターこの中でIncludeDocProperties、FixedFormatExtClassPtrは指定せずいつも省略しているので、正直どのようなものか把握してないです。実際のサンプルコードに入ります。Subこれはブックに対しPDF形式を指定して、同じ場所にSample1.pdfとして保存し、ビューアーにて表示させるものです。実行すると指定した場所に保存され、ビューアーで表示されます。この場合、「全Sheet」を対象としてPDF発行していますので、特定ページのみとしたい場合を書いてみます。Sub特定ページのみであればFromとToに同じ数値を指定すればOKです。指定した3ページ目のみとなっています。ここまではブック全体に対する指定ですので、全Sheetが対象なのですが指定するシートのみをPDFで保存したい場合は以下の様な記述をします。Subワークシートオブジェクトの宣言をして、サンプルではアクティブシートをセットしていますが、他のシートを指定したい場合はActiveSheetの部分を適宜修正すればOKです。Worksheets(“Sheet3”)など)これを実行することで指定したシートのみをPDFとして発行、保存することが出来ます。2.まとめ簡単な記述でPDFとして発行、保存することが出来ますしシート指定やページ指定もできますから、知っていると何かと便利ですのでお薦めです。ちなみに指定するファイル名が既に保存場所にある場合、上書きされるようですからご注意くださいませ!以上、ブックや指定シートをPDF形式で保存する方法についてでした!今回の記事が何かの参考になれば幸いです。【VBA】コマンドボタンをアクセスキーで実行するVBAで扱うユーザーフォームはコマンドボタンで実行させることが多いですが、状況によっては都度ボタンクリックが煩わしいこともあります。そんな時はAcceleratorプロパティを使用することでコマンドボタンにアクセスキーを設定できますので、今回はその方法について書いていきます。記事を読む【VBA】指定セルに移動(ジャンプ)するVBAで処理する際にセル指定にはSelectを使う場合が多いですが、Excelシートを跨って移動したい場合に、対象シートをアクティブにする必要があり、少々面倒だったりします。その手間をかけずに異なるシート間でもセルを指定するにはGotoを使う方法がありますので、今回はその内容について書いてみたいと思います。記事を読む【VBA】行番号(Row)/列番号(Column)を取得するVBAで処理する際に行番号や列番号は必要な情報になってきますので情報を取得したいことも多々発生します。今回はその取得方法、範囲を指定した場合の行/列番号の返り値、エディタ画面のイミディエイトウィンドウを使って列番号を調べる方法について書いてみたいと思います。記事を読む【VBA】フォーカス移動で全文字列を選択する(UserForm)VBAで扱うことが多いユーザーフォームとテキストボックスですが、用途などによってはテキストボックス上の文字列を全選択状態にして消去や再入力時の手間を省きたいことがあると思います。今回はその内容について書いていきます。記事を読む【VBA】ヘッダー/フッターへの画像表示や解除など印刷の設定にヘッダーやフッターがありますが、共通するロゴや表記などの画像を指定して表示させたいこともあるかと思います。その場合はLeft/Center/RightHeaderPictureプロパティ、又はFooterPictureプロパティで対応することが出来ます。今回はその内容や解除などについて書いていきます。記事を読む【VBA】図形(オートシェイプ)やシェイプ内文字の色を操作する先日の記事でVBAによるシート内に図形(オートシェイプ)を作成する内容を書きましたが、実際使用する上では作成した図形に色を塗りたい、枠線も塗りつぶした色に合わせたい、図形内に表示した文字の色を変えたい・・・等々思うことがありますよね。そこで今回はその指定方法について書いてみたいと思います。記事を読む【VBA】ショートカットを作成するパソコンを扱う中でショートカットはとても便利で利用頻度も高いので、VBAで処理する内容などによってはショートカットを作りたいと思うこともあるかと思います。Host(WSH)を利用することで対応できますので、今回はその内容について書いていきます。記事を読む【VBA】再計算を実行した際に処理を行うExcelで数式を用いて処理を行うことが多々あると思います。その該当セルの数値を変更する度に再計算が実行されますが、例えば合計金額のように桁数が結果によって変わる場合はセルに収まらなくなることもありますので、そんな時はCalculateイベントを活用して再計算の都度、列幅の自動調整を行うことも可能です。記事を読む【VBA】オブジェクトの情報を読み指定Sheet以外を削除する!Excelで原紙ファイルはSheet数が多くなり、実際使用時にSheetを探したり削除したりと煩わしく思う事があるのではないでしょうか。そこで今回は予めボタンをSheet分用意してApplication.Callerを使いSheeを選択することで不要分を削除しBookの名前を付けて保存するサンプルコードを紹介します。記事を読む【VBA】ユーザー定義関数を作成するExcelを扱う中でワークシート関数を使うことはとても多いですが、VBAのFunctionプロシージャを使用することでオリジナル関数(ユーザー定義関数)を作ることができます。今回はサンプルとして西暦から干支を求める関数を作成してみましたので、その内容について書いていきます。※当サイトはロリポップ!のハイスピードプランです。はじめまして!Ryoと申します。中小企業製造メーカー勤務で主に生産技術業務に勤しむ一方、社内PC管理やVBAで業務効率化を図る日々を送っていますので、これまでの経験や実践してきた内容をここで発信していきたいと考えています。困った時の一助になれるようなブログ作りを目指します。「自恃ろぐ」はAmazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。