首先,需要确保已经将Illustrator的对象库添加到VBA项目中:

  1. 打开VBA编辑器,依次点击"工具"-"引用";
  2. 在弹出的对话框中找到"Adobe Illustrator XX.X Type Library"(其中XX.X为Illustrator的版本号),勾选并确认。

接下来,可以参考以下VBA代码:

Sub UpdateIllustratorTemplate()
    '打开Illustrator模板
    Dim aiApp As Illustrator.Application
    Set aiApp = CreateObject("Illustrator.Application")
    
    Dim aiDoc As Illustrator.Document
    Set aiDoc = aiApp.Open("C:\Templates\template.ai")
    
    '循环修改文字层内容
    Dim i As Integer
    For i = 1 To 10 '假设Excel中有10个单元格需要修改
        aiDoc.Layers("Text Layer").TextFrames(1).Contents = Range("A" & i).Value
        aiDoc.SaveAs "C:\Output\output" & i & ".ai"
    Next i
    
    '关闭Illustrator
    aiDoc.Close
    aiApp.Quit
End Sub

上述代码假设Illustrator模板中有一个名为"Text Layer"的文本层,其中第一个文本框的内容需要循环修改。代码中的循环次数可以根据实际情况修改。修改完成后,每次保存为一个新的Illustrator文件,保存路径为"C:\Output",文件名为"output1.ai"、"output2.ai"、"output3.ai"……依次类推。

需要注意的是,上述代码中的Excel单元格值的引用方式为"Range",需要确保代码所在的工作簿已经打开,并且该单元格的所属工作表处于活动状态。如果需要引用其他工作簿中的单元格,可以使用"Workbooks"、"Sheets"等对象来获取

vba引用 Illustrator模板 循环模板文字层把excelA列单元格的值循环改变对应文字层的信息

原文地址: https://www.cveoy.top/t/topic/dHKQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录