高级扩展复制报表数据界面数据
通过高级扩展功能的报表传递实现复制内容到剪切板这里有一个需求,是需要让普通用户可以复制记录的ID,可以通过高级扩展的报表传递功能实现。
1、新建一个模板用户传递打开。
2、在要复制的模板中写高级扩展菜单实现传递。
效果如下:
设置方法如下:
1、新建一个用于传递打开的模板。
定义一个以上的字段就好。目的是用于将数据界面的数据通过扩展功能传递到这个模板上来。比如下面的模板只有一个编号字段。为了后面的效果这个编号字段是要隐藏起来的。下面的灰色正在复制这个是一个样式,用于展示给前台用户看的,可以要也可以不要。这里为了效果才这么做的。
2、在要查看记录的模板中写高级扩展菜单实现传递报表的功能。
保存后运行的效果:
运行的过程分解:
选中记录,点高级扩展菜单,将所选记录的ID 传递给了打开的模板。传递打开的模板中执行了VBA,将传递过来的数据复制到了剪切板,而后关闭了传递的模板。这样就实现了点击复制按钮后,可以直接粘贴复制的ID。
附复制到剪切板与关闭模板的VBA代码:
Dim EV As SpreadsheetGear.Windows.Controls.WorkbookView,AW As SpreadsheetGear.IWorkbook,Range As SpreadsheetGear.IRange
Dim CF As TextBox
Public Sub Workbook_Open(OldRoot As Object,NewRoot As Object,Excel As SpreadsheetGear.Windows.Controls.WorkbookView)
EV = Excel
Excel.GetLock()
AW = Excel.ActiveWorkbook
Range = AW.ActiveWorksheet.Range
CF = CType(OldRoot.Children(1), TextBox)
System.Windows.Clipboard.SetText(Range("C2").Text)
CF.Text = "#关闭"
Excel.ReleaseLock()
End Sub'打开时执行事件
页:
[1]