当第一个文档保存时,是否可以创建一个在一个工作簿上运行的宏,从另一个工作簿触发?
一些背景知识:我将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 :(得分:0)
我看到它的方式 - 你有两个选择: 1)创建一个不断检查'.xlsx'工作簿的最后修改日期的工作簿,一旦它发生变化,就会触发一个宏...这就是你需要打开它才能工作。 2)我认为首选的方法是将.xlsx文件切换为.xlsm或.xlsb文件,正如其他人所指出的那样,这是获取您正在寻找的功能并转换PDF创建的唯一方法来自您当前使用的Adobe的内置PDF创建函数的方法...
在任何一种情况下,您都必须妥协您的一项要求,选项1要求打开工作簿,选项2要求您切换PDF方法。我认为选项2是迄今为止首选的路线,只要没有某些原因必须使用Adobe PDF制造商创建PDF ...
如果您可以使用它,那么这是内置PDF创建器的代码: “Thisworkbook.ExportAsFixedFormat Type:= xlTypePDF,Filename:=”filename“,Quality:= xlQualityStandard,IncludeDocProperties:= True,IgnorePrintAreas:= False,OpenAfterPublish:= True”
希望这有帮助, TheSilkCode