Kaydet (Commit) 4e9b6450 authored tarafından Jean-Pierre Ledure's avatar Jean-Pierre Ledure

Access2Base - handle ".uno:" prefix

Isolate _DispatchCommand sub
üst 0478c43b
...@@ -1402,15 +1402,23 @@ Public Function RunCommand(Optional pvCommand As Variant) As Boolean ...@@ -1402,15 +1402,23 @@ Public Function RunCommand(Optional pvCommand As Variant) As Boolean
' Execute command via DispatchHelper ' Execute command via DispatchHelper
If _ErrorHandler() Then On Local Error Goto Exit_Function ' Avoid any abort 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 Dim iVBACommand As Integer, sOOCommand As String, sDispatch As String
If IsMissing(pvCommand) Then Call _TraceArguments() If IsMissing(pvCommand) Then Call _TraceArguments()
If Not ( Utils._CheckArgument(pvCommand, 1, Utils._AddNumeric(vbString)) ) Then Goto Exit_Function If Not ( Utils._CheckArgument(pvCommand, 1, Utils._AddNumeric(vbString)) ) Then Goto Exit_Function
Const cstUnoPrefix = ".uno:"
If VarType(pvCommand) = vbString Then If VarType(pvCommand) = vbString Then
sOOCommand = pvCommand sOOCommand = pvCommand
iVBACommand = -1 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 Else
sOOCommand = "" sOOCommand = ""
iVBACommand = pvCommand iVBACommand = pvCommand
...@@ -1596,19 +1604,14 @@ Dim iVBACommand As Integer, sOOCommand As String, sDispatch As String ...@@ -1596,19 +1604,14 @@ Dim iVBACommand As Integer, sOOCommand As String, sDispatch As String
sDispatch = pvCommand sDispatch = pvCommand
End Select End Select
Dim oDocument As Object, oDispatcher As Object, oArgs() As new com.sun.star.beans.PropertyValue, sTargetFrameName As String Call _DispatchCommand(cstUnoPrefix & sDispatch)
Dim oResult As Variant
oDocument = _SelectWindow().Frame
oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
sTargetFrameName = ""
oResult = oDispatcher.executeDispatch(oDocument, ".uno:" & sDispatch, sTargetFrameName, 0, oArgs())
Exit_Function: Exit_Function:
RunCommand = True RunCommand = True
Utils._ResetCalledSub("RunCommand") Utils._ResetCalledSub(cstThisSub)
Exit Function Exit Function
Error_Function: Error_Function:
TraceError(TRACEABORT, Err, "RunCommand", Erl) TraceError(TRACEABORT, Err, Utils._CalledSub(), Erl)
GoTo Exit_Function GoTo Exit_Function
End Function ' RunCommand V0.7.0 End Function ' RunCommand V0.7.0
...@@ -1995,7 +1998,19 @@ Trace_SubFormNotFound: ...@@ -1995,7 +1998,19 @@ Trace_SubFormNotFound:
Goto Exit_Function Goto Exit_Function
End Function ' _DatabaseForm V1.2.0 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 ----------------------------------------------------------------------------------------------------------------------- REM -----------------------------------------------------------------------------------------------------------------------
Private Function _getTempDirectoryURL() As String Private Function _getTempDirectoryURL() As String
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment