从外部触发器运行VBA代码?

是否有可能创build一个macros来运行一个工作簿,从其他工作簿触发,当第一个文档保存?

一些背景:我将一个PDF文档 – 保存我需要的数据 – 到一个Excel文档。 转换只能在.xlxs文件中完成。 之后我可以把这个文档“保存”为一个macros观的文档,但整个过程需要更长的时间,整个目标是大幅度缩短时间。

我有一个macros可以将.xlsx文件中的数据提取到.xlsm文件,所以我可以根据需要操作数据。 当我更新.xlxs文件时自动获取它是问题。

以下是我目前所做的将.xlsx文件中的数据导入启用macros的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 

我看到它的方式 – 你有两个select:1)创build一个工作簿,不断检查你的'.xlsx'工作簿的最后修改date,一旦它发生变化,触发一个macros…这个缺点是你必须有它开放工作。 2)我相信是首选的方法,是将.xlsx文件切换到.xlsm或.xlsb文件,正如其他人指出的,是真正的唯一方法来获得您正在寻找的function和切换PDF创build方法从Adobe目前正在使用的内置PDF创buildfunction…

在任何一种情况下,您都必须妥协您的一项要求,选项1要求打开工作簿,而选项2则要求您切换PDF方法。 我认为选项2将是迄今为止的首选路线,只要没有某种原因PDF绝对不得不用Adobe PDF制造商创build…

如果您可以使用它的话,下面是内置PDF创build器的代码:“Thisworkbook.ExportAsFixedFormat Type:= xlTypePDF,Filename:=”filename“,Quality:= xlQualityStandard,IncludeDocProperties:= True,IgnorePrintAreas:= False,OpenAfterPublish:= True “

希望这有助于TheSilkCode