以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助]Excel模板新插入行如何保留样式? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=105875)
|
-- 作者:新福星
-- 发布时间:2017/8/28 15:41:00
-- [求助]Excel模板新插入行如何保留样式?
Excel模板中有大量合并单元格。
用下面程序,如果表记录大于模板预留行数,将自动加入行。
现在在加行时,原模板合并单元格的样式就全部丢失了。复制出来的原来合并的全部拆分了。
希望新增行能够和原来的格式一致,怎么修改?谢谢!
FileSys.CopyFile(wjm,File_Name,True) try If FileIsOpened(File_Name)= False Then wb = App.WorkBooks.Open(File_Name) Else wb = App.WorkBooks(wjm) End If ws = Wb.WorkSheets("任务单") gdhs=3 bhs= Tables("任务信息").Rows.Count cw=bhs-gdhs If cw>0 Then rg= Ws.Range("6:6") \'以这个指定的单元格为基准 For i As Integer=1 To cw Rg.Insert(MSExcel.XlDirection.xlDown) Next Else cw=0 End If App.DisplayAlerts = False wb.saveas(File_name) App.DisplayAlerts = True catch ex As exception msgbox(ex.Message) finally App.quit End try Do If FileIsOpened(File_name)= False Then Exit Do Loop
|
-- 作者:有点甜
-- 发布时间:2017/8/28 15:44:00
--
插入一行,是这样处理的
Rg.EntireRow.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)\'在基准单元格上面插入一行
|
-- 作者:有点甜
-- 发布时间:2017/8/28 15:46:00
--
你也可以用【复制】【粘贴】的方式,这样也可以复制样式。
|
-- 作者:新福星
-- 发布时间:2017/8/28 17:09:00
--
具体语句怎么写?谢谢
|
-- 作者:有点甜
-- 发布时间:2017/8/28 17:48:00
--
以下是引用新福星在2017/8/28 17:09:00的发言: 具体语句怎么写?谢谢
Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\test.xls") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = ws.range("5:5") rg.Copy rg.EntireRow.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)\'在基准单元格上面插入一行 ws.paste rg.Copy rg.EntireRow.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)\'在基准单元格上面插入一行 ws.paste app.visible = True
|
-- 作者:新福星
-- 发布时间:2017/8/29 10:55:00
--
按上述方法改后,先期可以打印正确打印3-5张。
之后就出现下图告警了。怎么解?谢谢
此主题相关图片如下:qq图片20170829104910.png

|
-- 作者:有点甜
-- 发布时间:2017/8/29 11:45:00
--
例子发上来测试。
|