关于vb控制excel问题

叫我编程者 2013-08-12 10:08:36
excelXLS = CreateObject("Excel.Application")
excelWK = excelXLS.Workbooks.Open(strFieldName)
// j = 0
excelWS = excelWK.Worksheets(j + 1) //选中sheet1 excelWK.Sheets.Add()
excelWK.Sheets("Sheet1").Select()
excelWS.Range("A1:Y10").Select()
excelWS.Range("A1:Y10").Copy()
excelWK.Sheets("Sheet" & (j + 2)).Select()
excelWK.ActiveSheet.Paste()
excelWS = excelWK.Worksheets(j + 2)
excelWS.Cells.Select()
'excelWS.Selection.ColumnWidth = 5
excelWS.Cells.ColumnWidth = 5
excelWS = excelWK.Worksheets(j + 1)
流程是 在sheet1后面新加一个sheet 然后复制sheet1的 A1:Y10 粘贴到sheet2 然后全选sheet2 把列宽改成5 我在excelWS.Cells.Select()
这里报错 说类range 的select无效,求各位帮忙看看
...全文
133 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
excelWS.Cells.Select()根本就不需要,多余,直接用excelWS.Cells.ColumnWidth = 5就OK了
夜轻风 2013-08-13
  • 打赏
  • 举报
回复
试了一下,没问题,实在不行自己调试看看
        Dim excelXLS As Excel.Application
        Dim excelWK As Workbook
        Dim excelWS As Worksheet
        Dim j As Integer = 0
        excelXLS = CreateObject("Excel.Application")
        excelXLS.Visible = True
        excelWK = excelXLS.Workbooks.Open("C:\test.xlsx")

        excelWS = excelWK.Worksheets(j + 1)  '//选中sheet1            excelWK.Sheets.Add()
        excelWK.Sheets("Sheet1").Select()
        excelWS.Range("A1:Y10").Select()
        excelWS.Range("A1:Y10").Copy()
        excelWK.Sheets("Sheet" & (j + 2)).Select()
        excelWK.ActiveSheet.Paste()
        excelWS = excelWK.Worksheets(j + 2)
        excelWS.Cells.Select()
        'excelWS.Selection.ColumnWidth = 5
        excelWS.Cells.ColumnWidth = 2
        excelWS = excelWK.Worksheets(j + 1)

        excelWK.Save()
        excelWK.Close()

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧