Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
'''把取得的值放进模版里
filenames$="c:\analy1.xls" '文件名
xlApp.EnableEvents = True
xlApp.Workbooks.Open(filenames$)
'''xlApp.Workbooks.RunAutoMacros(Auto_Open) //这句是VB里的.在LS里不知道要怎么写?
6 个解决方案
#1
xlApp.Run("Auto_Open")
#2
再请教一个问题!如果我在LS里自己创建一个excel文件,而不是调用模版!要实现跟模版(有宏)一样的功能,即在LS里直接写宏代码,该怎么写?能提供相关的代码或者相关的资料吗?谢谢了!
#3
那用LS直接写VBA就可以了啊。
#4
直接写?B/S下能吗?有没有相应的参考资料?
#5
这个B/S和C/S无关。实际上
xlApp.Workbooks.Open
xlApp.Run
....
就是VBA啊
xlApp.Workbooks.Open
xlApp.Run
....
就是VBA啊
#6
我明白了.先谢谢你~:)
在LS里,我知道怎么用VBA给excel赋值.但是要用VBA在新创建的excel中创建一个图,不知道要调用什么对象?我目前的做法是先做一个excel模版(里面保存了创建图的宏代码),在LS里调用这个模版,然后往这个模版里添加值。
注:这个图是一个饼图,获取一个固定的列,但是行数是动态的。这个宏是在excel启动时自动调用的。通过获得数据形成一个饼图。
宏代码如下:
Dim i As Integer '声明A为整形变量
Sheets("sheet1").Select
i = ActiveSheet.UsedRange.Rows.Count
Range("B2:B" & i).Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B2:B" & i), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "本月收入"
End With
所以我的本意是想把以上的代码直接在LS里写,就不需要调用那个模版了。
在LS里,我知道怎么用VBA给excel赋值.但是要用VBA在新创建的excel中创建一个图,不知道要调用什么对象?我目前的做法是先做一个excel模版(里面保存了创建图的宏代码),在LS里调用这个模版,然后往这个模版里添加值。
注:这个图是一个饼图,获取一个固定的列,但是行数是动态的。这个宏是在excel启动时自动调用的。通过获得数据形成一个饼图。
宏代码如下:
Dim i As Integer '声明A为整形变量
Sheets("sheet1").Select
i = ActiveSheet.UsedRange.Rows.Count
Range("B2:B" & i).Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B2:B" & i), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "本月收入"
End With
所以我的本意是想把以上的代码直接在LS里写,就不需要调用那个模版了。
#1
xlApp.Run("Auto_Open")
#2
再请教一个问题!如果我在LS里自己创建一个excel文件,而不是调用模版!要实现跟模版(有宏)一样的功能,即在LS里直接写宏代码,该怎么写?能提供相关的代码或者相关的资料吗?谢谢了!
#3
那用LS直接写VBA就可以了啊。
#4
直接写?B/S下能吗?有没有相应的参考资料?
#5
这个B/S和C/S无关。实际上
xlApp.Workbooks.Open
xlApp.Run
....
就是VBA啊
xlApp.Workbooks.Open
xlApp.Run
....
就是VBA啊
#6
我明白了.先谢谢你~:)
在LS里,我知道怎么用VBA给excel赋值.但是要用VBA在新创建的excel中创建一个图,不知道要调用什么对象?我目前的做法是先做一个excel模版(里面保存了创建图的宏代码),在LS里调用这个模版,然后往这个模版里添加值。
注:这个图是一个饼图,获取一个固定的列,但是行数是动态的。这个宏是在excel启动时自动调用的。通过获得数据形成一个饼图。
宏代码如下:
Dim i As Integer '声明A为整形变量
Sheets("sheet1").Select
i = ActiveSheet.UsedRange.Rows.Count
Range("B2:B" & i).Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B2:B" & i), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "本月收入"
End With
所以我的本意是想把以上的代码直接在LS里写,就不需要调用那个模版了。
在LS里,我知道怎么用VBA给excel赋值.但是要用VBA在新创建的excel中创建一个图,不知道要调用什么对象?我目前的做法是先做一个excel模版(里面保存了创建图的宏代码),在LS里调用这个模版,然后往这个模版里添加值。
注:这个图是一个饼图,获取一个固定的列,但是行数是动态的。这个宏是在excel启动时自动调用的。通过获得数据形成一个饼图。
宏代码如下:
Dim i As Integer '声明A为整形变量
Sheets("sheet1").Select
i = ActiveSheet.UsedRange.Rows.Count
Range("B2:B" & i).Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B2:B" & i), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "本月收入"
End With
所以我的本意是想把以上的代码直接在LS里写,就不需要调用那个模版了。