summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wizards/source/access2base/Database.xba29
-rw-r--r--wizards/source/access2base/DoCmd.xba2
2 files changed, 20 insertions, 11 deletions
diff --git a/wizards/source/access2base/Database.xba b/wizards/source/access2base/Database.xba
index 81a233ef318b..05e7335b0a49 100644
--- a/wizards/source/access2base/Database.xba
+++ b/wizards/source/access2base/Database.xba
@@ -621,7 +621,7 @@ Const cstThisSub = "Database.OutputTo"
If IsMissing(pvTemplateFile) Then pvTemplateFile = ""
If Not Utils._CheckArgument(pvTemplateFile, 6, vbString) Then Goto Exit_Function
If IsMissing(pvEncoding) Then pvEncoding = 0
- If Not Utils._CheckArgument(pvEncoding, 7, _AddNumeric(), Array(0, acUTF8Encoding)) Then Goto Exit_Function
+ If Not Utils._CheckArgument(pvEncoding, 7, _AddNumeric()) Then Goto Exit_Function
If IsMissing(pvQuality) Then pvQuality = acExportQualityPrint
If Not Utils._CheckArgument(pvQuality, 7, _AddNumeric(), Array(acExportQualityPrint, acExportQualityScreen)) Then Goto Exit_Function
@@ -674,7 +674,7 @@ Dim sOutputFormat As String, iTemplate As Integer, iOutputFile As Integer, bOutp
Case UCase(acFormatXLS), "XLSX"
bOutput = _OutputToCalc(oTable, sOutputFile, acFormatXLSX)
Case UCase(acFormatTXT), "TXT", "CSV"
- bOutput = _OutputToCalc(oTable, sOutputFile, acFormatTXT)
+ bOutput = _OutputToCalc(oTable, sOutputFile, acFormatTXT, pvEncoding)
End Select
oTable.Dispose()
@@ -1010,7 +1010,7 @@ Error_Function:
End Function ' DFunction V1.1.0
REM -----------------------------------------------------------------------------------------------------------------------
-Private Function _FilterOptionsDefault() As String
+Private Function _FilterOptionsDefault(ByVal plEncoding As Long) As String
' Return the default FilterOptions string for table/query export to csv
Dim sFieldSeparator as string
@@ -1020,7 +1020,7 @@ Const cstTextDelimitor = """"
If _DecimalPoint() = "," Then sFieldSeparator = ";" Else sFieldSeparator = cstComma
_FilteroptionsDefault = Trim(Str(Asc(sFieldSeparator))) _
& cstComma & Trim(Str(Asc(cstTextDelimitor))) _
- & cstComma & Trim(Str(acUTF8Encoding)) _
+ & cstComma & Trim(Str(plEncoding)) _
& cstComma & "1"
End Function ' _FilterOptionsDefault V1.4.0
@@ -1296,7 +1296,11 @@ Dim i As Integer, l As Long
End Function ' _OutputStringToHTML V1.4.0
REM -----------------------------------------------------------------------------------------------------------------------
-Private Function _OutputToCalc(poData As Object, ByVal psOutputFile As String, psFilter As String) As Boolean
+Private Function _OutputToCalc(poData As Object _
+ , ByVal psOutputFile As String _
+ , ByVal psFilter As String _
+ , Optional ByVal plEncoding As Long _
+ ) As Boolean
' https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Database_Import
' https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options
@@ -1306,6 +1310,7 @@ Dim oRange As Object, i As Integer, iCol As Integer, oColumns As Object
If _ErrorHandler() Then On Local Error Goto Error_Function
_OutputToCalc = False
+ If IsMissing(plEncoding) Then plEncoding = acUTF8Encoding
' Create a new OO-Calc-Document
Set oCalcDoc = StarDesktop.LoadComponentFromURL( _
"private:factory/scalc" _
@@ -1344,14 +1349,18 @@ Dim oRange As Object, i As Integer, iCol As Integer, oColumns As Object
For i = 0 To iCol - 1
oColumns.getByIndex(i).OptimalWidth = True
Next i
+ oCalcDoc.storeAsUrl(psOutputFile, Array( _
+ _MakePropertyValue("FilterName", psFilter) _
+ , _MakePropertyValue("Overwrite", True) _
+ ))
Case Else
+ oCalcDoc.storeAsUrl(psOutputFile, Array( _
+ _MakePropertyValue("FilterName", psFilter) _
+ , _MakePropertyValue("FilterOptions", _FilterOptionsDefault(plEncoding)) _
+ , _MakePropertyValue("Overwrite", True) _
+ ))
End Select
- oCalcDoc.storeAsUrl(psOutputFile, Array( _
- _MakePropertyValue("FilterName", psFilter) _
- , _MakePropertyValue("FilterOptions", _FilterOptionsDefault()) _
- , _MakePropertyValue("Overwrite", True) _
- ))
oCalcDoc.close(False)
_OutputToCalc = True
diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba
index ff3d5ae6b01c..1b6e481f360b 100644
--- a/wizards/source/access2base/DoCmd.xba
+++ b/wizards/source/access2base/DoCmd.xba
@@ -1243,7 +1243,7 @@ Const cstThisSub = "OutputTo"
If IsMissing(pvTemplateFile) Then pvTemplateFile = ""
If Not Utils._CheckArgument(pvTemplateFile, 6, vbString) Then Goto Exit_Function
If IsMissing(pvEncoding) Then pvEncoding = 0
- If Not Utils._CheckArgument(pvEncoding, 7, _AddNumeric(), Array(0, acUTF8Encoding)) Then Goto Exit_Function
+ If Not Utils._CheckArgument(pvEncoding, 7, _AddNumeric()) Then Goto Exit_Function
If IsMissing(pvQuality) Then pvQuality = acExportQualityPrint
If Not Utils._CheckArgument(pvQuality, 7, _AddNumeric(), Array(acExportQualityPrint, acExportQualityScreen)) Then Goto Exit_Function