VBA多个Excel文件中的多个图表复制到单个文档文档

时间:2016-09-06 10:01:12

标签: excel vba excel-vba charts

长时间潜伏在这里。 我试图将350个图表(图表表)从多个excel文件复制到一个word文档中。 我没有专家,但到目前为止,我已设法打开一个特定的Excel文件并将图表复制到word文档。

{{1}}

这显然是一个巨大的混乱和错误每次,但它只是适用于一个小项目。

是否有人能够建议扩展这个以从所有.xls文件中的所有图表的整个文件夹中获取图表?

1 个答案:

答案 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