vba引用 Illustrator模板 循环模板文字层把excelA列单元格的值循环改变对应文字层的信息
首先,需要确保已经将Illustrator的对象库添加到VBA项目中:
- 打开VBA编辑器,依次点击"工具"-"引用";
- 在弹出的对话框中找到"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"等对象来获取
原文地址: https://www.cveoy.top/t/topic/dHKQ 著作权归作者所有。请勿转载和采集!