2016-12-30 9 views
2

最初の文書が保存されているときに、他のブックからトリガされた1つのブックでマクロを作成することはできますか?外部トリガーからVBAコードを実行しますか?

背景:私は、必要なデータを保持するPDFドキュメントをExcelドキュメントに変換します。変換は.xlxsドキュメントに対してのみ行うことができます。その後、この文書をマクロ対応の文書に「保存」することはできますが、処理全体に時間がかかり、全体の目的は時間を大幅に短縮することにあります。

データを.xlsxファイルから.xlsmファイルにプルできるマクロがあるため、そこから必要なデータを操作できます。 .xlxsファイルを更新すると自動的にそこに移動することが問題です。

以下は、.xlsxファイルからマクロ対応のExcelドキュメントにデータをインポートするために作成したコードです。いずれかを開く必要なしに.xlsxファイルを変更して保存すると、データを自動的にプルすることは可能ですか?

Sub Import_Test()  
    Dim Target_Workbook As Workbook 
    Dim Source_Workbook As Workbook 
    Dim Target_Path As String 

    Target_Path = "H:\Test.xlsx" 
    Set Target_Workbook = Workbooks.Open("H:\Test.xlsx") 
    Set Source_Workbook = ThisWorkbook 
    Target_Data = Target_Workbook.Sheets(1).Cells(35, 1) 
    Source_Workbook.Sheets(1).Cells(2, 1) = Target_Data 
    Source_data = Source_Workbook.Sheets(1).Cells(2, 1) 
    Target_Workbook.Sheets(1).Cells(35, 1) = Source_data 
    Source_Workbook.Save 
    Target_Workbook.Close False 
End Sub 
+0

ブックを1つ保存すると発生するイベントサブを作成できますが、閉じたブックにデータをプッシュする方法はわかりません。それにもかかわらず、これは ".xlsm"ブックになる必要がある ".xlsx"ブックのマクロを必要とします。これはおそらく、Pythonや他の高水準のプログラミング言語で行うことができます。一般的なアプローチは、 ".xlsx"ファイルが変更されるたびにスクリプトを起動するよりも、ファイルウォッチャーを作成することです。あなたは、しかし、ブックが開いているとぶつかることがあります。 – Kyle

+2

PDF-Excel変換をどのように起動しますか?バッチスクリプトから?同じバッチスクリプトで起動し、Excelオブジェクトを作成してExcelファイルの内容を実行し、別の名前で保存する可能性のあるVBSスクリプト(.vbsファイル)を作成することができます。 。等。 – trincot

+0

私はAdobe ExportPDFを使用して変換しています。私は私の会社の在庫プログラムの慈悲のために限られた選択肢しか持っていません。 – Fondyrunner

答えて

0

私はIT-を見る方法あなたは、2つのオプションがあります: 1)常にあなたの「.xlsx形式の」ワークブックのLASTMODIFIED日付をチェックして、すぐにそれが変化して、マクロをトリガーワークブックを作成し...欠点はこれを働かせるにはオープンしなければならないということです。 2).xlsxファイルを.xlsmファイルまたは.xlsbファイルに切り替えることが推奨されています。他の人が指摘しているように、探している機能を取得してPDFを切り替える唯一の方法です現在使用しているアドビの内蔵PDF作成機能への作成方法...

どちらのシナリオでも、要件の1つを妥協する必要があり、オプション1ではワークブックを開く必要があり、オプション2では、あなたはPDFメソッドを切り替えます。私はオプション2は、PDFがAdobe PDFメーカーで絶対に作成されなければならない何らかの理由がない限り、好ましいルートであると考えています。

ここには、作成できるPDF作成者のコードがありますそれを使用する: "Thisworkbook.ExportAsFixedFormatタイプ:= xlTypePDF、ファイル名:=" ファイル名 "品質:= xlQualityStandard、IncludeDocProperties:= Trueの場合、IgnorePrintAreas:= Falseの、OpenAfterPublish:= True" を

に希望が、これは、 TheSilkCodeを支援します

関連する問題