以文本方式查看主题

-  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=87796)

--  作者:rjh4078
--  发布时间:2016/7/19 17:33:00
--  如何在excel模板中隐藏内容
如图  当送货数量>0的行数量>1即 有送货单是打印送货单区域  当退货数量>0的行数量>1即 有退货单是打印退货单区域 
--  作者:rjh4078
--  发布时间:2016/7/19 17:35:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160719173320.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/7/19 17:38:00
--  

 弄两个sheet,然后做两个模板,生成报表后,剪切复制到一张表里去

 

比如你生成了报表 d:\\text.xls

 

Dim App As New MSExcel.Application

Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\test.xls")
Dim Ws1 As MSExcel.WorkSheet = Wb.WorkSheets("sheet1") \'指定要复制的工作表
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets("sheet2")
Dim Ws3 As MSExcel.WorkSheet = Wb.WorkSheets("sheet3")

Ws1.UsedRange.Copy
ws3.Cells(1,1).Select
ws3.paste
Ws2.UsedRange.Copy
\'ws3.Cells(1,Ws1.UsedRange.Columns.Count).Select \'横向拷贝
ws3.Cells(Ws1.UsedRange.Rows.Count,1).Select \'纵向拷贝
ws3.paste

\'Wb.Save
app.Visible = True
\'App.Quit


--  作者:rjh4078
--  发布时间:2016/7/19 17:50:00
--  
红袍老师   因为明细表是动态生成的 无法知道从哪开始到哪结束啊
--  作者:大红袍
--  发布时间:2016/7/19 18:32:00
--  
以下是引用rjh4078在2016/7/19 17:50:00的发言:
红袍老师   因为明细表是动态生成的 无法知道从哪开始到哪结束啊

 

不需要从哪里开始,哪里结束。

 

送货单一个模板,退货单一个模板。


--  作者:rjh4078
--  发布时间:2016/7/19 19:08:00
--  
---------------------------
版本:2014.11.11.1
---------------------------
代码执行出错,错误信息:



System.Runtime.InteropServices.COMException (0x8002000B): 无效索引。 (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))

   在 Microsoft.Office.Interop.Excel.Sheets.get__Default(Object Index)

   在 UserCode.Test()
---------------------------
确定   
---------------------------


出现这样的错误

--  作者:rjh4078
--  发布时间:2016/7/19 19:10:00
--  
我有个疑问 比如我做了2个模板 sheetA sheetB 我只需要将b细节区拷贝到A即可  2个问题  第一 如何定位到A的细节区末尾 第二 如何准确获得B的细节区的范围
--  作者:大红袍
--  发布时间:2016/7/19 20:35:00
--  

Dim App As New MSExcel.Application

Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\test.xls")
Dim Ws1 As MSExcel.WorkSheet = Wb.WorkSheets("sheetA") \'指定要复制的工作表
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets("sheetB")
Ws2.Select

Ws2.UsedRange.Copy
\'ws1.Cells(1,Ws1.UsedRange.Columns.Count+1).Select \'横向拷贝
ws1.Cells(Ws1.UsedRange.Rows.Count+1,1).Select \'纵向拷贝
ws1.paste

\'Wb.Save
app.Visible = True
\'App.Quit


--  作者:rjh4078
--  发布时间:2016/7/20 8:14:00
--  
---------------------------
版本:2014.11.11.1
---------------------------
代码执行出错,错误信息:



System.Runtime.InteropServices.COMException (0x800A03EC): 类 Range 的 Select 方法无效

   在 Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateCall(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack, Boolean IgnoreReturn)

   在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)

   在 UserCode.Test()
---------------------------
确定   
---------------------------


--  作者:Hyphen
--  发布时间:2016/7/20 8:46:00
--  
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("F:\\rfgf.xls")
Dim Ws1 As MSExcel.WorkSheet = Wb.WorkSheets("表A") \'指定要复制的工作表
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets("表B")
Ws2.Select
Ws2.UsedRange.Copy
\'ws1.Cells(1,Ws1.UsedRange.Columns.Count+1).Select \'横向拷贝
ws1.Select
ws1.Cells(Ws1.UsedRange.Rows.Count+1,1).Select \'纵向拷贝
ws1.paste
\'Wb.Save
app.Visible = True
\'App.Quit