长时间潜伏在这里。 我试图将350个图表(图表表)从多个excel文件复制到一个word文档中。 我没有专家,但到目前为止,我已设法打开一个特定的Excel文件并将图表复制到word文档。
{{1}}
这显然是一个巨大的混乱和错误每次,但它只是适用于一个小项目。
是否有人能够建议扩展这个以从所有.xls文件中的所有图表的整个文件夹中获取图表?
答案 0 :(得分:0)
要逐步浏览文件夹中的所有XLS文件,您需要使用DIR命令。以下是其使用示例。我把它保存到单元格,但你可以简单地使用名称传递给一个函数。您需要更改为所需文件夹的路径名,但是有一个简单的快捷方式,可以将主表与代码保存在同一文件夹中,并使用Application.ActiveWorkbook.Path获取当前路径名
Sub Directory()
Dim strPath As String
Dim strFolderPath As String
Dim strFileName As String
Dim intRow As Integer
Dim intColumn As Integer
intRow = 1
intColumn = 1
strFolderPath = "h:\*.xls"
strFileName = Dir(strFolderPath)
Do
Sheets("Main").Cells(intRow, intColumn) = strFileName 'test output to sheet
Debug.Print strFileName 'test output to debug
strFileName = Dir
intRow = intRow + 1
Loop Until strFileName = ""
End Sub
然后打开每个工作簿(不包括带代码的工作簿)并使用“为图表中的每个图表”循环逐步浏览工作簿中的每个图表
Dim myChart As Chart
For Each myChart In <Workbookname>.Charts
Debug.Print myChart.Name
//or use the myChart object to pass to your code
Next