我的设置是我在文件夹中有一堆空白模板。每个空白模板里面都有一个基金代码(它是模板中唯一的东西)
我创建的下面的宏(在外部工作簿中)浏览了包含模板的文件夹,打开了每个模板,然后填写了#34;通过循环。
基本上我的宏打开每个模板,将基金代码分配给变量,然后将该变量与一些文本字符串结合使用,以引入与该特定基金代码相关的其他工作表/ PDF对象。
我的问题是,在以下代码的更加丰富的版本中,我添加了可能要插入的四到五个PDF对象。它将浏览一些模板,然后在随机的pdf对象插入行中随机停止随机基金代码,说明"对象无法找到"或"对象无法插入"
如果我按下调试然后按F8再次运行该行,则可以插入对象没问题。那么也许我的代码运行得太快,以至于adobe无法处理?我不确定。也许我的代码并没有尽可能高效地完成工作。这样可以为我的团队节省太多时间,我只能在一半的时间内完成工作。
(文件名也一定是正确的,所以这不是问题)
Public Sub test()
Set currentbook = ActiveWorkbook
Application.AskToUpdateLinks = False
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim wbk As Workbook
Dim filename1 As String
Dim Path As String
Dim a As Long
Path = "C:\Users\Bob\Desktop\Workbooks\"
filename1 = Dir(Path & "*.xlsm")
'--------------------------------------------
'OPEN EXCEL FILES
Do While Len(filename1) > 0 'IF NEXT FILE EXISTS THEN
Set wbk = Workbooks.Open(Path & filename1)
wbk.Activate
'Gets Fund Code
Sheets("Initialize").Select
Dim FdCode As String
FdCode = Worksheets("Initialize").Range("D8")
'--------------------------- PDF ADDS
'Add PDF TB----------------------------------------------------
Worksheets("F.a - Working TB").OLEObjects.Add filename:="C:\Users\Bob\Desktop\Raw Reports\R122 04.30.16 - 04.30.17\" & FdCode & " 04.30.16 TB.PDF", Link:=False, DisplayAsIcon:=False, Left:=40, Top:=40, Width:=150, Height:=10
On Error GoTo 0
'Add PDF Closed Options----------------------------------------------------'
Worksheets("T300.1 - Options (Closed)").OLEObjects.Add filename:="C:\Users\Bob\Raw Reports\Other Reports 04.30.16-04.30.17\Breakout\" & FdCode & " other 04.30.17_ CLOSED OPTIONS POSITION REPORT.PDF", Link:=False, DisplayAsIcon:=False, Left:=40, Top:=40, Width:=150, Height:=10
On Error GoTo 0
ActiveWorkbook.Save
wbk.Close False
filename1 = Dir
Loop
Application.ScreenUpdating = True
End Sub