000
05.03.2008, 13:50 Uhr
~Richie01
Gast
|
Hallo Zusammen,
habe ein kleines Problem. Ich habe ein Programm geschrieben, was aus einer Crystal Reports (*.rpt) Datei automatisch einen Export nach Excel macht. Soweit so gut. Nun möchte ich gerne die Excel-Datei zusätzlich noch mittels VB bearbeiten lassen. Es sollen alle leeren Zeilen und alle leeren Spalten automatisch gelöscht werden. Wie kann ich das realisieren. Hier mein Programm für den Export via VB:
Visual Basic: |
Private Sub Command1_Click()
On Error GoTo Login_Error
Dim objApplicat As Object Set objApplication = CreateObject("CrystalRuntime.Application")
Dim strPath As String strPath = "c:\1\CLX01.rpt"
Dim objReport As Object
Set objReport = objApplication.OpenReport(strPath, 1)
objReport.EnableParameterPrompting = False objReport.ExportOptions.UseReportDateFormat = 1 objReport.ExportOptions.UseReportNumberFormat = 1 objReport.DisplayProgressDialog = False objReport.ExportOptions.FormatType = 22 'crEFTExcel80 objReport.ExportOptions.DiskFileName = "c:\1\CLX01.xls" objReport.ExportOptions.DestinationType = 1 'crEDTDiskFile objReport.ExportOptions.ExcelAreaType = 4 'crDetail objReport.ExportOptions.ExcelConvertDateToString = False objReport.ExportOptions.ExcelUseWorksheetFunctions = True
If False = ReportConnectExternalDatabase(objReport, "Export to Excel", "", "") Then Debug.Print "err" End If
Debug.Print "Start" objReport.Export False Debug.Print "Finish"
Exit Sub
Login_Error:
Debug.Print "Description: " & Err.Description & " " & "Number: " & Err.Number & " " & "LastDllError: " & Err.LastDllError & " " & "Source: " & Err.Source
End Sub
Function ReportConnectExternalDatabase(ByRef objReport As Object, _ ByVal strDSN As String, _ ByVal strU As String, _ ByVal strP As String) As Boolean ReportConnectExternalDatabase = True strU = strU strP = strP If (strDSN = "") Then strDSN = "Export to Excel" If (strU = "") Then strU = "User" End If If (strP = "") Then strP = "password" End If End If
Dim i As Integer
'Logons Dim nTablesCount As Integer nTablesCount = objReport.Database.Tables.Count Debug.Print "objReport.Database.Tables.Count " & Str(objReport.Database.Tables.Count) For i = 1 To nTablesCount objReport.Database.Tables(i).SetLogOnInfo strDSN, strDSN, strU, strP Debug.Print "strDSN " & strDSN Debug.Print "strU " & strU Debug.Print "strP " & strP
'Test connection ReportConnectExternalDatabase = objReport.Database.Tables(i).TestConnectivity If ReportConnectExternalDatabase = False Then Exit For End If Next i
End Function
|
Dieser Post wurde am 08.03.2008 um 12:29 Uhr von FloSoft editiert. |