こんにちは、SkyLinkサポート担当です。
SkyLinkは、だれでも使えるデータベース検索ツールです。売上情報・顧客情報・社員情報・受注データ・在庫データなど社内のあらゆるデータの有効活用に役立ちます。
今回は、SkyLinkを使って日々の業務を更に効率よく行う方法をご紹介します。


月別の売上をExcelでグラフ化。ファイルをPDF形式で保存し直して参加者に配布。会議資料の作成の際、よく見る光景かもしれません。
前回前々回のブログで、Excel出力についてご説明しましたが、今回は「PDF形式で保存」この部分の省力化をご紹介します。


SkyLinkの「Excelフォーム編集」設定では、結果出力後に「Excelマクロ」機能を実行することができます。
このExcelマクロにPDF形式での保存を実行させることで作業の効率を上げることができるというわけです。


Excelマクロを使うというと、自分には使えないのでは?と思うかもしれません。
実はExcelには「マクロの記録」という実行した操作を覚えてくれる機能があります。


今回のマクロ処理も基本的には「マクロの記録」を少しだけ手直ししたものです。
① Excelファイルを開いた状態で「マクロの記録」を選択します。
②「名前を付けて保存」を行う操作を行います。
③「記録終了」します。
必要な処理をExcelがVBAとして記録してくれます。


では、実際に使用できるExcelマクロを見てみましょう。


下記の処理を記述したExcelマクロファイルを作成しておきます。
実行する処理の名前(関数名)は、「PDFSave」としておきます。
「Excelフォーム編集」設定で、検索結果をファイル保存するように設定しておき更に「PDFSave」を呼び出す指定を行っておきます。


SkyLinkマクロ呼び出し

これを設定しておくだけで、Excelに出力された結果がPDFファイルとして作成されます。


【マクロ内容】
(MyDocumentsフォルダにアクティブブック名のPDFファイルを保存)
-----------------
// 「名前を付けて保存」を行う処理
Function PDFSave() As Boolean
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
GetFolders() + "" + Replace(ActiveWorkbook.Name, ".xlsx", ""), Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Function
// パソコンのマイドキュメントのフォルダを調べる
Function GetFolders() As String
Dim wScriptHost As Object, strInitDir As String
Set wScriptHost = CreateObject("WScript.Shell")
GetFolders = wScriptHost.SpecialFolders("MyDocuments")
End Function
-----------------


このように「マクロの指定」を行っておくことで、結果出力後に毎回手動手作業で行っていた作業も自動化でき業務を効率化することが可能になります。