ReAttach – Attachment nach Bearbeitung wieder anhängen

Des Öfteren stehen die User vor dem Problem, ein Attachment bearbeiten zu müssen und an einen anderen User weiterleiten zu mssen.
Lotus Notes in den Versionen 4 und 5 bietet hier leider nur die Möglichkeit, den Anhang zu detachen, mit der entsprechenden Anwendung zu öffnen und nach der Modifikation wieder an das Dokument anzuhängen.

Die Lotus Script Klasse clsAttachment erledigt dies in einer einzigen Aktion. Die Einbindung ist kinderleicht. Legen sie das Arbeitsberzeichnis und das Feld fest, das die Anhänge enthält.

Sub Click(Source As Button)

  Dim workdir as String
  Dim rtField as String
  Dim A As New Attachment
  workdir = "c:\temp"
  rtField = "Body"

  Call A.Modify ( workdir , rtField )

End Sub

Bei mehreren Anhängen erfolgt die Auswahl des zu bearbeitenden Anhangs komfortabel durch ein PopUp Menue. Nach Auswahl des Anhangs wird dieser mit der entsprechenden Anwendung geöffnet. (getestet unter 4.6.x ( unter 4.5 nur mit Modifikationen lauffähig ), 5.x mit Windows 9x / NT4 SP 6a / 2000 und Office 97 / 2000 )

DOWNLOAD


@Command([ToolsUserLogoff]) in Lotus Script

Mit Hilfe der Windows API kann der Befehl @Command([ToolsUserLogoff]) in Lotus Script simuliert werden.

VK_F5 = &H74
Const KEYEVENTF_KEYDOWN = &H0000
Const KEYEVENTF_KEYUP = &H0002

Declare Sub WIN32_KeyBoardEvent Lib "User32" Alias "keybd_event" ( Byval bVirtualKey As Integer , Byval bScanCode As Integer , dwFlags As Long , dwExtraInfo As Long )
Sub Logoff ( )
  Dim ModuleName As String
  ModuleName = {Logoff}
  On Error Goto ErrorHandler

  WIN32_KeyBoardEvent VK_F5 , 0 , KEYEVENTF_KEYDOWN , 0
  WIN32_KeyBoardEvent VK_F5 , 0 , KEYEVENTF_KEYUP , 0
  Exit Sub

  ErrorHandler:
  Select Case fnErrorHandler ( Error$ , Err , Erl , ModuleName )
    Case 0
      Exit Sub
    Case 1
      Resume Next
    Case Else
      Resume Next
  End Select
End Sub

Function fnErrorHandler ( strErrorText As String , lngErrorNumber As Long , lngErrorLine As Long , strModuleName As String ) As Integer
Print ( {ERROR: } + strErrorText + { (Nr.: } + Cstr (lngErrorNumber ) + {, Line: } + Cstr (lngErrorLine ) + {, Module: } + strModuleName + {)} )
fnErrorHandler = 1
End Function

Und zum Testen folgender Aufruf

Sub Click(Source As Button)
  Call Logoff
End Sub