Foxtable(狐表)用户栏目专家坐堂 → 【求助】怎么让Excel报表模板里面的程序运行


  共有5593人关注过本帖树形打印复制链接

主题:【求助】怎么让Excel报表模板里面的程序运行

帅哥哟,离线,有人找我吗?
wang1988sen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
【求助】怎么让Excel报表模板里面的程序运行  发帖心情 Post By:2015/2/26 17:38:00 [只看该作者]

      用Excel报表模板输出功能导出报表需要一些小功能,就有Excel的vba对模板进行了编程,在模板里面添加了一个按钮。类似于宏程序,点击后弹出一个窗口让用户使用,功能已经实现了,图片点击可在新窗口打开查看
     问题就在于当用Excel模板导出数据时候才发现图片点击可在新窗口打开查看,这个模板的按钮不显示,就无法运行这个程序,我又将Excel模板的窗口设置为Excel启动自动运行弹出窗
口,单独打开模板时候一切正常,可是用模板导出是好还是不能弹出窗口,所以希望版主给我一些帮助,怎么让这个程序通过Excel报表模板导出后模板的程序能够运行,不然后这几天的功夫就白费了。图片点击可在新窗口打开查看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模板.rar

怎么让这个模板vba写的程序用报表功能导出后还能使用呢?

[此贴子已经被作者于2015/2/26 17:47:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 18:11:00 [只看该作者]

 测试了一下,这样解决。

 

1、在模板上加入一个宏,比如代码如下

 

Sub test()
    UserForm1.Show
End Sub

2、用代码生成报表,但不要显示出来 http://www.foxtable.com/help/topics/1145.htm

 

3、用下面的代码设置按钮进去、以及运行对应的宏

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\test_test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
App.Visible = True

 

Ws.Buttons.Add(183.75, 141, 54, 18.75).Select
app.Run("test")


 回到顶部
帅哥哟,离线,有人找我吗?
wang1988sen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2015/2/26 19:15:00 [只看该作者]

三个步骤都需要做吗?不知道放到那个事件下,自己尝试了一下没成功。
第一个步骤放在模块里面,之前也在open的事件加过打开窗口的代码
第二个链接我也是用的那段代码,就是用一个按钮来生成模板,生成指数数据,那个按钮不出来。
低三个不知道放那个事件下,还是放在第二个方法的代码里面,里面的("D:\test_test.xls")这个路径的文件是怎么来的呢?
疑问比较多啊
[此贴子已经被作者于2015/2/26 19:19:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 19:20:00 [只看该作者]

 不可能不成功

 

1、代码写到宏的某个模块里面;

 

2、用代码先生成报表;

 

3、用代码打开生成的报表,加入按钮,运行窗口


 回到顶部
帅哥哟,离线,有人找我吗?
wang1988sen
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2015/2/26 19:24:00 [只看该作者]

前两个步骤做了,低三个步骤不明白。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 19:25:00 [只看该作者]

把红色代码替换成自己的xls就行啊

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\test_test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
App.Visible = True

 

Ws.Buttons.Add(183.75, 141, 54, 18.75)
app.Run("test")

[此贴子已经被作者于2015/2/26 19:24:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 19:48:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("C:\Documents and Settings\Administrator\My Documents\下载\模板\模板\成绩报表模板.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")


 回到顶部
帅哥哟,离线,有人找我吗?
wang1988sen
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2015/2/26 19:55:00 [只看该作者]

这段代码是放在生成报表的按钮里面吗?第一的代码成功了,可是不会生成细节区, 刚给的代码提示出错了


 回到顶部
帅哥哟,离线,有人找我吗?
wang1988sen
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2015/2/26 19:56:00 [只看该作者]

每次都要生成一个按钮有什么用呢?

 回到顶部
帅哥哟,离线,有人找我吗?
wang1988sen
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By: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")


 回到顶部
总数 26 1 2 3 下一页