diff options
Diffstat (limited to 'wizards/source/template/Correspondence.xba')
-rw-r--r-- | wizards/source/template/Correspondence.xba | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/wizards/source/template/Correspondence.xba b/wizards/source/template/Correspondence.xba index 3c391d8332b0..a6b42434b79e 100644 --- a/wizards/source/template/Correspondence.xba +++ b/wizards/source/template/Correspondence.xba @@ -63,7 +63,9 @@ Dim oAddressDialog as Object Dim oAddressPilot as Object Dim oFields as Object Dim oDocSettings as Object - On Local Error Goto GENERALERROR +Dim oContext as Object +Dim bDBvalid as Boolean + 'On Local Error Goto GENERALERROR bDBFields = DialogModel.Optmerge.State 'database or placeholder TemplateDialog.EndExecute() @@ -73,14 +75,18 @@ Dim oDocSettings as Object oDBAccess = GetRegistryKeyContent("org.openoffice.Office.DataAccess/AddressBook/") sAddressbook = oDBAccess.DataSourceName - If sAddressbook = "" Then 'If there is no field mapping - If Not odBAccess.AutoPilotCompleted Then 'If the Mapping Pilot never ran - oAddressPilot = createUnoService("com.sun.star.ui.dialogs.AddressBookSourcePilot") - oAddressPilot.execute - Else - oAddressDialog = CreateUnoService("com.sun.star.ui.AddressBookSourceDialog") - oAddressDialog.execute - End If + bDBvalid = false + oContext = createUnoService( "com.sun.star.sdb.DatabaseContext" ) + + If (not isNull(oContext)) Then + 'Is the previously assigned address data source still valid? + bDBvalid = oContext.hasByName(sAddressbook) + end if + + If (bDBvalid = false) Then + oAddressPilot = createUnoService("com.sun.star.ui.dialogs.AddressBookSourcePilot") + oAddressPilot.execute + oDBAccess = GetRegistryKeyContent("org.openoffice.Office.DataAccess/AddressBook/") sAddressbook = oDBAccess.DataSourceName If sAddressbook = "" Then |