summaryrefslogtreecommitdiff
path: root/wizards
diff options
context:
space:
mode:
Diffstat (limited to 'wizards')
-rw-r--r--wizards/source/access2base/DoCmd.xba33
1 files changed, 24 insertions, 9 deletions
diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba
index 75112e2b890d..cb40f2288014 100644
--- a/wizards/source/access2base/DoCmd.xba
+++ b/wizards/source/access2base/DoCmd.xba
@@ -1402,15 +1402,23 @@ Public Function RunCommand(Optional pvCommand As Variant) As Boolean
' Execute command via DispatchHelper
If _ErrorHandler() Then On Local Error Goto Exit_Function ' Avoid any abort
- Utils._SetCalledSub("RunCommand")
+Const cstThisSub = "RunCommand"
+ Utils._SetCalledSub(cstThisSub)
Dim iVBACommand As Integer, sOOCommand As String, sDispatch As String
If IsMissing(pvCommand) Then Call _TraceArguments()
If Not ( Utils._CheckArgument(pvCommand, 1, Utils._AddNumeric(vbString)) ) Then Goto Exit_Function
+Const cstUnoPrefix = ".uno:"
If VarType(pvCommand) = vbString Then
sOOCommand = pvCommand
iVBACommand = -1
+ If Len(sOOCommand) > Len(cstUnoPrefix) Then
+ If Left(sOOCommand, Len(cstUnoPrefix)) = cstUnoPrefix Then
+ Call _DispatchCommand(sOOCommand)
+ Goto Exit_Function
+ End If
+ End If
Else
sOOCommand = ""
iVBACommand = pvCommand
@@ -1596,19 +1604,14 @@ Dim iVBACommand As Integer, sOOCommand As String, sDispatch As String
sDispatch = pvCommand
End Select
-Dim oDocument As Object, oDispatcher As Object, oArgs() As new com.sun.star.beans.PropertyValue, sTargetFrameName As String
-Dim oResult As Variant
- oDocument = _SelectWindow().Frame
- oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
- sTargetFrameName = ""
- oResult = oDispatcher.executeDispatch(oDocument, ".uno:" & sDispatch, sTargetFrameName, 0, oArgs())
+ Call _DispatchCommand(cstUnoPrefix & sDispatch)
Exit_Function:
RunCommand = True
- Utils._ResetCalledSub("RunCommand")
+ Utils._ResetCalledSub(cstThisSub)
Exit Function
Error_Function:
- TraceError(TRACEABORT, Err, "RunCommand", Erl)
+ TraceError(TRACEABORT, Err, Utils._CalledSub(), Erl)
GoTo Exit_Function
End Function ' RunCommand V0.7.0
@@ -1995,7 +1998,19 @@ Trace_SubFormNotFound:
Goto Exit_Function
End Function ' _DatabaseForm V1.2.0
+REM -----------------------------------------------------------------------------------------------------------------------
+Private Sub _DispatchCommand(ByVal psCommand As String)
+' Execute command given as argument - ".uno:" is presumed already present
+Dim oDocument As Object, oDispatcher As Object, oArgs() As new com.sun.star.beans.PropertyValue, sTargetFrameName As String
+Dim oResult As Variant
+Dim sCommand As String
+
+ Set oDocument = _SelectWindow().Frame
+ Set oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
+ sTargetFrameName = ""
+ oResult = oDispatcher.executeDispatch(oDocument, psCommand, sTargetFrameName, 0, oArgs())
+End Sub ' _DispatchCommand V1.3.0
REM -----------------------------------------------------------------------------------------------------------------------
Private Function _getTempDirectoryURL() As String