在代理里面打开一个Excel文件时,怎么调用这个Excel文件里的宏?

时间:2022-09-29 14:25:14
提供相关的代码给各位高手参考一下?谁做过这方面的事情,请赐教~~~@_@

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啊

#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里写,就不需要调用那个模版了。

#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啊

#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里写,就不需要调用那个模版了。