From 2170dba0862c2775f49c866b02e168cdd3b83756 Mon Sep 17 00:00:00 2001 From: Tim Gerundt Date: Mon, 3 Mar 2008 23:19:38 +0000 Subject: [PATCH] PATCH: [ 1510293 ] A new Excel plugin - better error handling. - Add the rest --- Docs/Users/ChangeLog.txt | 1 + Plugins/dlls/CompareMSExcelFiles.dll | Bin 36864 -> 36864 bytes .../src_VB/CompareMSExcelFiles/WinMergeScript.cls | 113 ++++++++++----------- 3 files changed, 53 insertions(+), 61 deletions(-) diff --git a/Docs/Users/ChangeLog.txt b/Docs/Users/ChangeLog.txt index 8f5c45fd8..db7276dbe 100644 --- a/Docs/Users/ChangeLog.txt +++ b/Docs/Users/ChangeLog.txt @@ -4,6 +4,7 @@ to Subversion revision numbers (rXXXXX). WinMerge 2.8 Release Candidate Update developers list in splash screen (#1891548) + Better error handling for Excel plugin (#1510293) BugFix: Copy&Paste from VB6 added binary chars (#1904355) Translation updates: - Chinese Traditional (#1905323) diff --git a/Plugins/dlls/CompareMSExcelFiles.dll b/Plugins/dlls/CompareMSExcelFiles.dll index c8dc3be24e7241eaed9b9ac584f6b9f54a8a6295..3e8f4444e2b1a04d36694156c0f5346e72e9ac4b 100644 GIT binary patch literal 36864 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 0 Then + ReDim macTempPaths(objDoc.VBProject.VBComponents.Count - 1) As String + oTextToSave = oTextToSave & "Macros in document" & vbCrLf + + iCountMacros = 0 + For Each VBComp In objDoc.VBProject.VBComponents + oTextToSave = oTextToSave & VBComp.Name & vbCrLf + + macTempPaths(iCountMacros) = CreateTempFile("WMS") + + ' Remove the temporary file + Kill macTempPaths(iCountMacros) + + ' Save the text content of the macro + VBComp.Export macTempPaths(iCountMacros) + + ' Read the content back from the file + hFile = FreeFile + Open macTempPaths(iCountMacros) For Input Shared As #hFile + Do While Not EOF(1) 'Loop until end of file... + Line Input #hFile, oMacroLine 'Read line into variable. + oTextToSave = oTextToSave & oMacroLine & vbCrLf + Loop + Close #hFile + + oTextToSave = oTextToSave & vbCrLf + iCountMacros = iCountMacros + 1 + Next + End If + End If + GetMacros = oTextToSave + Exit Function + +GetMacros: + oTextToSave = "" + GetMacros = oTextToSave End Function Private Function GetDocProperty(objDoc As Object, pName As String) @@ -151,15 +184,6 @@ Public Function UnpackFile(fileSrc As String, fileDst As String, ByRef bChanged Dim arrTempPaths() As String ReDim arrTempPaths(objDoc.Worksheets.Count - 1) As String - ' (ProjectComponents may be zero due to Code Access Security) - Dim ProjectComponents As Long - ProjectComponents = GetComponentCount(objDoc) - - Dim macTempPaths() As String - If ProjectComponents > 0 Then - ReDim macTempPaths(ProjectComponents - 1) As String - End If - Dim iCountSheets As Integer iCountSheets = 0 @@ -192,46 +216,13 @@ Public Function UnpackFile(fileSrc As String, fileDst As String, ByRef bChanged On Error GoTo CleanUp oTextToSave = oTextToSave & vbCrLf - - ' Get the Macros - If ProjectComponents > 0 Then - oTextToSave = oTextToSave & "Macros in document" & vbCrLf - On Error Resume Next - Dim VBComp As Object - Dim iCountMacros As Integer - For Each VBComp In objDoc.VBProject.VBComponents - VBComp = objDoc.VBProject.VBComponents(iCountMacros) - oTextToSave = oTextToSave & VBComp.Name & vbCrLf - - macTempPaths(iCountMacros) = CreateTempFile("WMS") - - ' Remove the temporary file - Kill macTempPaths(iCountMacros) - ' Save the text content of the macro - VBComp.Export macTempPaths(iCountMacros) - - ' Read the content back from the file - hFile = FreeFile - Open macTempPaths(iCountMacros) For Input Shared As #hFile - 'oTextToSave = oTextToSave + macTempPaths(iCountMacros) + vbCrLf - - Dim oMacroLine As String - Do While Not EOF(1) ' Loop until end of file. - Line Input #hFile, oMacroLine ' Read line into variable. - - oTextToSave = oTextToSave + oMacroLine + vbCrLf - Loop + ' Get the Macros + oTextToSave = oTextToSave & GetMacros(objDoc) - Close #hFile + On Error GoTo CleanUp - oTextToSave = oTextToSave + vbCrLf - iCountMacros = iCountMacros + 1 - 'Next VBComp - Next - oTextToSave = oTextToSave & vbCrLf - On Error GoTo 0 - End If + oTextToSave = oTextToSave & vbCrLf ' Names On Error Resume Next -- 2.11.0