以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 【求助】怎么让Excel报表模板里面的程序运行 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64666) |
||||
-- 作者:wang1988sen -- 发布时间:2015/2/26 17:38:00 -- 【求助】怎么让Excel报表模板里面的程序运行 用Excel报表模板输出功能导出报表需要一些小功能,就有Excel的vba对模板进行了编程,在模板里面添加了一个按钮。类似于宏程序,点击后弹出一个窗口让用户使用,功能已经实现了, 问题就在于当用Excel模板导出数据时候才发现,这个模板的按钮不显示,就无法运行这个程序,我又将Excel模板的窗口设置为Excel启动自动运行弹出窗 口,单独打开模板时候一切正常,可是用模板导出是好还是不能弹出窗口,所以希望版主给我一些帮助,怎么让这个程序通过Excel报表模板导出后模板的程序能够运行,不然后这几天的功夫就白费了。
怎么让这个模板vba写的程序用报表功能导出后还能使用呢?
[此贴子已经被作者于2015/2/26 17:47:47编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2015/2/26 18:11:00 -- 测试了一下,这样解决。
1、在模板上加入一个宏,比如代码如下
Sub test() 2、用代码生成报表,但不要显示出来 http://www.foxtable.com/help/topics/1145.htm
3、用下面的代码设置按钮进去、以及运行对应的宏
Dim App As New MSExcel.Application
Ws.Buttons.Add(183.75, 141, 54, 18.75).Select |
||||
-- 作者:wang1988sen -- 发布时间:2015/2/26 19:15:00 -- 三个步骤都需要做吗?不知道放到那个事件下,自己尝试了一下没成功。 第一个步骤放在模块里面,之前也在open的事件加过打开窗口的代码 第二个链接我也是用的那段代码,就是用一个按钮来生成模板,生成指数数据,那个按钮不出来。 低三个不知道放那个事件下,还是放在第二个方法的代码里面,里面的("D:\\test_test.xls")这个路径的文件是怎么来的呢? 疑问比较多啊
[此贴子已经被作者于2015/2/26 19:19:41编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2015/2/26 19:20:00 -- 不可能不成功
1、代码写到宏的某个模块里面;
2、用代码先生成报表;
3、用代码打开生成的报表,加入按钮,运行窗口 |
||||
-- 作者:wang1988sen -- 发布时间:2015/2/26 19:24:00 -- 前两个步骤做了,低三个步骤不明白。 |
||||
-- 作者:有点甜 -- 发布时间:2015/2/26 19:25:00 -- 把红色代码替换成自己的xls就行啊
Dim App As New MSExcel.Application
Ws.Buttons.Add(183.75, 141, 54, 18.75) [此贴子已经被作者于2015/2/26 19:24:57编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2015/2/26 19:48:00 -- Dim App As New MSExcel.Application ws.Buttons.Add(18.75, 28.5, 102.75, 39).Select |
||||
-- 作者:wang1988sen -- 发布时间:2015/2/26 19:55:00 -- 这段代码是放在生成报表的按钮里面吗?第一的代码成功了,可是不会生成细节区, 刚给的代码提示出错了 |
||||
-- 作者:wang1988sen -- 发布时间:2015/2/26 19:56:00 -- 每次都要生成一个按钮有什么用呢? |
||||
-- 作者:wang1988sen -- 发布时间:2015/2/26 19:59:00 -- Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("C:\\成绩报表模板.xls") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) App.Visible = True ws.Buttons.Add(18.75, 28.5, 102.75, 39).Select【这句有什么用】 app.ActiveWindow.Selection【这段提示出错】 app.ActiveWindow.Selection.Characters.Text = "导出成绩" app.Run("test") |