0

在 VBScript 中,如何在打开的 Excel 工作表中创建图形?我用宏写的代码是:

Set objWriteExcel = CreateObject("Excel.Application")
objWriteExcel.Visible = False
Set objWriteWorkbook = objWriteExcel.Workbooks.Open("E:\Surendra\VBCode\Graph\newSheet.xls")
Set objWriteSheet = objWriteWorkbook.Worksheets(1)
Set objWriteSheet2 = objWriteWorkbook.Worksheets(2)   
Set oMychart = objWriteSheet.ChartObjects.Add(50, 50, 1000, 500).Chart   
oMychart.ChartType = 73
oMychart.SetSourceData objWriteSheet2.Range("A2:B2001")   
oMychart.ChartTitle.Text = "Acclaration VS Time"
objWriteWorkbook.SaveAs ("E:\Surendra\VBCode\Graph\newSheet.xls"), -4143
objWriteExcel.Quit

在这里,newsheet.xls当我在某个单元格上创建时,它应该从同一工作簿的 sheet2 中获取数据并创建一个图表。但是,如果我的工作表已经打开并且如果我使用workbooks.open命令我没有得到图表。没有对象,我认为脚本将无法正常工作。

如果我将此宏作为 VBScript 文件运行,那么它可以正常工作,但是如果将相同的代码作为宏添加到工作表并运行,则它无法正常工作。

有人可以帮我如何在同一张打开的表格中绘制图表。

4

1 回答 1

0

我不知道如何对单击事件做出反应。但是,您可以对SelectionChange事件做出反应:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  'do stuff
End Sub

请注意,当您单击当前选定的单元格时,该宏不会触发,只有当您选择与以前不同的单元格时才会触发。

此外,宏必须绑定到工作表。打开宏编辑器并在项目浏览器窗口中双击“Sheet1”。在新代码窗口中输入代码。有关更详细的说明,请参见此处。

将图形创建记录为宏并将其粘贴到Worksheet_SelectionChange过程中。

于 2013-06-04T11:44:51.207 回答