merge the formfield patch from ooo-build
[ooovba.git] / testautomation / spreadsheet / optional / includes / import_general / c_import_general.inc
blobe10ae90d4d1832317b18616609cb1433642d8890
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 '* 
5 '* Copyright 2008 by Sun Microsystems, Inc.
6 '*
7 '* OpenOffice.org - a multi-platform office productivity suite
8 '*
9 '* $RCSfile: c_import_general.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 08:05:50 $
15 '* This file is part of OpenOffice.org.
17 '* OpenOffice.org is free software: you can redistribute it and/or modify
18 '* it under the terms of the GNU Lesser General Public License version 3
19 '* only, as published by the Free Software Foundation.
21 '* OpenOffice.org is distributed in the hope that it will be useful,
22 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
23 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 '* GNU Lesser General Public License version 3 for more details
25 '* (a copy is included in the LICENSE file that accompanied this code).
27 '* You should have received a copy of the GNU Lesser General Public License
28 '* version 3 along with OpenOffice.org.  If not, see
29 '* <http://www.openoffice.org/license.html>
30 '* for a copy of the LGPLv3 License.
32 '/************************************************************************
33 '**                                                                
34 '** owner : oliver.craemer@sun.com                                  
35 '**                                                                
36 '** short description : Imports every Document from a given path (gsSourcePath variable)     
37 '**                                                                
38 '*************************************************************************
39 '**                                                               
40 ' #1 tLoadAllDocuments (gsSourcePath as string )                    
41 ' #1 tLoadSpreadsheetDocument
42 ' #1 fCalcFileOpen                                                   
43 '**                                                               
44 '\*******************************************************************
46 sub tLoadAllDocuments ( gsSourcePath as string )
47     Dim i as integer 
48     Dim x as integer
50     printlog "Source path: " & gsSourcePath
51     'Get the files into a list.    
52     Call GetAllFileList(gsSourcePath, "*.*" , gsSourceDocument())
53     x = ListCount(gsSourceDocument())
54     printlog "- " + x + " steps will be done"
55     for i = 1 to x
56         printlog "(" & i & "/" & x & "): " & gsSourceDocument(i)
57         Call tLoadSpreadsheetDocument(gsSourceDocument(i))
58         sleep(5)
59     next i
60 end sub
62 '-------------------------------------------------------------------------------
64 testcase tLoadSpreadsheetDocument (SourceFile)
65     Dim sOnlyFileName as string
66     Dim sOnlyFileExtension as string
67     Dim sTempFileName as String
68     Dim i as integer
70     sTempFileName = SourceFile
71     sOnlyFileName = DateiOhneExt(DateiExtract(SourceFile)
72     sOnlyFileExtension = GetExtention(sTempFileName)        
73     select case sOnlyFileName
74         case "so3tmpl", "so4tmpl", "so5tmpl" :
75                                 printlog  "Test case: " & sOnlyFileName & "." & sOnlyFileExtension
76                                 
77         case else               printlog  "Test case: " & sOnlyFileName & "." & sOnlyFileExtension
78     end select
79     'Maybe file name is empty
80     if sOnlyFileName > "" then
81         'Some extensions make no sense to load
82         if sOnlyFileExtension <> "so" AND sOnlyFileExtension <> "tmp" AND sOnlyFileExtension <> "dbt" then
83             if fCalcFileOpen(SourceFile) AND IsItLoaded()then                
84                 if (hIsNamedDocLoaded (SourceFile)) then
85                     printlog "-  loaded"
86                     sleep(15)
87                     Call hCloseDocument
88                 else
89                     warnlog sOnlyFileName + " document has not been loaded correctly [hIsNamedDocLoaded]!"                    
90                     if GetDocumentCount > 1 then
91                         Do Until GetDocumentCount = 1
92                             Call hCloseDocument
93                         Loop
94                     endif
95                 endif
96             else
97                 warnlog sOnlyFileName + " document has not been loaded correctly [fCalcFileOpen; IsItLoaded]!"                
98                 if GetDocumentCount > 1 then
99                     Do Until GetDocumentCount = 1
100                         Call hCloseDocument
101                     Loop
102                 endif
103             endif
104         else
105             printlog "(" + sOnlyFileName + "." + sOnlyFileExtension + ") won't be loaded because of excluded extensions .so and .tmp."
106             if GetDocumentCount > 1 then
107                 Do Until GetDocumentCount = 1
108                     Call hCloseDocument
109                 Loop
110             endif
111         endif
112     endif
113 endcase
115 '-------------------------------------------------------------------------------
117 function fCalcFileOpen (sDocName as string, optional bLinked as boolean) as boolean
118     Dim sSourceFile as String
119     'Loads the spreadsheet documents like hLoadDocument but with special handling of
120     'spreadsheet import filter dialogs, like ASCII, Lotus, dBase, CSV, ... 
121     sSourceFile = ConvertPath ( sDocName )
123     fCalcFileOpen = TRUE
124     if hFileExists (sSourceFile) = FALSE then
125         warnlog "fCalcFileOpen: '" + sSourceFile + "' does not exists!"
126         fCalcFileOpen = FALSE
127     else
128         'Slot: FileOpen
129         FileOpen
130         sleep (1)
131         Kontext "OeffnenDlg"
132         Dateiname.SetText(sSourceFile)
133         sleep (3)
134         Oeffnen.Click
135         sleep (20)
137         'If .txt ASCII-filter dialog will come up.
138         Kontext "AsciiFilterOptionen"
139         if AsciiFilterOptionen.Exists(1) then
140             printlog "- ASCII filter dialog is up!"
141             AsciiFilterOptionen.Ok
142         endif
144         'If Lotus 1-2-3 or dBase files will be opend the import characters
145         'dialog will come up
146         Kontext "ExportCalc"
147         if ExportCalc.Exists(1) then
148             printlog "- Import character set selection dialog is up!"
149             ExportCalc.Ok
150         endif
152         'Importing detected (e.g. extension .csv) CSV files will bring
153         ' up the Text import dialog
154         Kontext "TextImport"
155         if TextImport.Exists(1) then
156             printlog "- Text import dialog is up!"
157             TextImport.OK
158         endif
160         Kontext "Active"
161         if Active.Exists(3) then
162             if IsMissing(bLinked) then
163                 warnlog "fCalcFileOpen: " + Active.GetText
164             else
165                 printlog "fCalcFileOpen: " + Active.GetText                
166             end if
167             try
168                 Active.OK
169             catch
170                 if IsMissing(bLinked) then
171                     'e.g. Links won't be updated
172                     Active.No
173                 else
174                     'e.g. Links will be updated
175                     Active.Yes
176                 end if
177             endcatch
178             Kontext "OeffnenDlg"
179             if OeffnenDlg.Exists(1) then
180                 OeffnenDlg.Cancel
181                 fCalcFileOpen = FALSE
182                 Warnlog "fCalcFileOpen: The File-Open-Dialog is open!"
183             end if
184         end if
185     end if
186 end function