周一至周五 : 08:30 - 17:30 客服专员电话/微信:18049989370 QQ:857188287
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
高级扩展复制报表数据界面数据
显示全部楼层 倒序浏览 发表日期 2021-10-16 14:29:57 2741次阅读 0次回复
hessen
2021-10-16 14:29:57
通过高级扩展功能的报表传递实现复制内容到剪切板

这里有一个需求,是需要让普通用户可以复制记录的ID,可以通过高级扩展的报表传递功能实现。
1、新建一个模板用户传递打开。
2、在要复制的模板中写高级扩展菜单实现传递。

效果如下:

GIF 2021-10-15 17-24-32.gif


设置方法如下:
1、新建一个用于传递打开的模板。
定义一个以上的字段就好。目的是用于将数据界面的数据通过扩展功能传递到这个模板上来。比如下面的模板只有一个编号字段。为了后面的效果这个编号字段是要隐藏起来的。下面的灰色正在复制这个是一个样式,用于展示给前台用户看的,可以要也可以不要。这里为了效果才这么做的。

20211016142010.png

2、在要查看记录的模板中写高级扩展菜单实现传递报表的功能。

20211016142325.png

保存后运行的效果:


运行的过程分解:
选中记录,点高级扩展菜单,将所选记录的ID 传递给了打开的模板。传递打开的模板中执行了VBA,将传递过来的数据复制到了剪切板,而后关闭了传递的模板。这样就实现了点击复制按钮后,可以直接粘贴复制的ID。

附复制到剪切板与关闭模板的VBA代码:

  1.        Dim EV As SpreadsheetGear.Windows.Controls.WorkbookView,AW As SpreadsheetGear.IWorkbook,Range As SpreadsheetGear.IRange
  2.            Dim CF As TextBox
  3.        Public Sub Workbook_Open(OldRoot As Object,NewRoot As Object,Excel As SpreadsheetGear.Windows.Controls.WorkbookView)
  4.            EV = Excel
  5.            Excel.GetLock()
  6.            AW = Excel.ActiveWorkbook
  7.            Range = AW.ActiveWorksheet.Range
  8.                    CF = CType(OldRoot.Children(1), TextBox)
  9.                     System.Windows.Clipboard.SetText(Range("C2").Text)
  10.                         CF.Text = "#关闭"
  11.            Excel.ReleaseLock()
  12.        End Sub'打开时执行事件
复制代码


电话/微信:18049989370 QQ:857188287
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |