VB程序员博客

VB程序开发

1、通过网格读取数据生成excel报表,速度很慢怎么解决?有没有其他办法?
2、vb引用了excel 2003,因为要根据模板来生成,客户断excel不是2003就无法生成excel,怎么解决这个问题?
代码如下
Private Sub cmdExl_Click()
    Dim xlApp    As Excel.Application
    Dim ExcelPath As Long
   
    Dim i        As Integer
    Dim j        As Integer
    On Error GoTo ErrMsg
    ExcelPath = CopyFile(App.Path & "Excel模版.xls", App.Path & "Excel est.xls", True)
    If ExcelFileOpen(xlApp, App.Path & "Excel est.xls") = False Then Exit Sub
    xlApp.ActiveSheet.PageSetup.CenterHeader = P_PlantName & Me.Caption
    With xlApp.Workbooks(1).Sheets("sheet1")
        For i = 1 To MSHDN.Rows
            For j = 1 To MSHDN.Cols - 1
                MSHDN.Row = i - 1
                MSHDN.Col = j
                .Range(P_arrExl(j - 1) & i + 1) = MSHDN.Text
            Next j
        Next i     
     
    End With
   
    With xlApp
        .Visible = True
    End With
   
    Screen.MousePointer = vbDefault
    Exit Sub
ErrMsg:
    MsgBox Err.Description, vbInformation, "系统提示"
End Sub

谢谢Oasis0535,怎么看模板是不是2003格式的呢?
项目不是我做的,只是人家拿代码过来让我们分析
如果模板是2000的,就可以在只装excel 2000的电脑上生成excel?
另外,加pplication.Calculation = xlCalculationManual是作什么用呢?

Dim MyXlsApp As Object
Set MyXlsApp = CreateObject("Excel.Application")
我以前遇到过类似的,所以我修改了没有引用Excel,有些功能在不同版本的Office有点区别,在低版本不能设置某些样式而已,做好之后测试一下就行了。


标签: , , ,