以文本方式查看主题

-  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
--  
 例子发上来测试。