Domino 9 und frühere Versionen > Entwicklung

Automatisches Erzeugen und umbenennen eines privaten Ordners mit Lotusscript

<< < (2/2)

Axel:

--- Zitat von: anderlaender am 24.06.04 - 12:04:51 ---Momentan habe ich einfach keine Idee, wie ich diesen Ordner im Hintergrund anlege und nichtsdestotrotz die Standard ansicht öffnen kann.

--- Ende Zitat ---

Wenn es sich um private Ornder handelt, die auf einen SOFU (Gemeinsam, privat bei Erstbenutzung) handelt, ist das kein Problem.

Füge folgende zwei Zeilen in den PostOpen-Event des Datenbankscriptes ein:

@Command([OpenView]; "Meine Dokumente");
@Command([FileCloseWindow])

Damit wird bei jedem Öffnen der DB der Ordner "Meine Dokumente" kurz geöffnet, wenn er nicht existiert, wird er angelegt. Der User bekommt davon, außer bei langsameren Rechner oder schlechten Netzwerkverbindungen - dann flackerts kurz, nichts mit.


Axel
 

anderlaender:
@Axel
Danke, probier ich gleich mal aus, aber der Ordner ist dadurch noch nicht umbenannt...

Ingo

Axel:
Hi,

umbenennen ist nicht so ohne weiteres möglich. Im Hintergrund bzw. programmgesteuert geht es meines Wissens nicht. Es sein denn über die API.

Das habe ich in derDesigner-Hilfe gefunden:


--- Zitat ---FolderRename  

Öffnet das Dialogfeld "Umbenennen", in dem Sie die Namen von Ordnern und Ansichten ändern können.
Syntax
@Command( [FolderRename] )
Verwendung
In einer Datenbank muß eine Ansicht oder ein Ordner geöffnet sein.
--- Ende Zitat ---

In der Sandkiste gibt's noch das: LotusScript DatabaseDesign Class.

Schau mal ob dir das was hilft.

Axel

anderlaender:
Tja, geht nicht gibts nicht  ...
Der folgende Code scheint zu laufen. Allerdings gibt es einen Schönheitsfehler... Es werden zwei Fenster beim erstellen geöffent und ich weiss noch nicht, wie ich dieses zweite fenster schließe...

Danke

Ingo


Sub Postopen(Source As Notesuidatabase)
   Stop
   '/ Check is a shopping cart for a user is availabale or not.
   '/ If no the cart is not available - create one.
   
   On Error Goto Errorhandler
   
   Dim dbCurrent As Notesdatabase
   Dim docDesign As Notesdocument
   Dim intIsFolder As Integer '/ bool
   Dim strviewUNID As String
   Dim viewShoppingCart As NotesView
   Dim viewTemp As Notesview
   Dim viewUITemp As NotesUIview
   Dim ws As New NotesUIWorkspace
   
   '/ Access current database backend
   Set dbCurrent = source.database
   
   Print "Suche Warenkorb..."
   
   '/ Get view/folder "Warenkorb"
   Set viewShoppingCart = dbCurrent.getView("Warenkorb")
   If Not viewShoppingCart Is Nothing Then
      intIsFolder = viewShoppingCart.isFolder
      If intIsFolder Then
         Print "Warenkorb vorhanden."
      Else
         Print "Warenkorb ist kein Ordner. Bitte wenden Sie sich an Ihren Administrator. "
      End If    
   Else
      '/
      Print "Kein Warenkorb vorhanden. Versuche diesen zu erzeugen..."
      Call source.OpenView("WWSWarenkorb")
      Set viewUITemp = ws.CurrentView
      Set viewtemp = viewUITemp.View
      '/ Get Design note
      strviewUNID =  viewtemp.universalID
      Set docDesign = dbCurrent.GetDocumentByUNID(strviewUNID)
      If Not docDesign Is Nothing Then
         '/ Set new name for the folder ...
         docDesign.~$Title = "Warenkorb"
         Call docDesign.save(False, False)
         Print "Ordner " & docDesign.~$Title(0) & " neu erstellt und umbenannt."
      Else
         Print "Ordner " & docDesign.~$Title(0) & " konnte nicht umbekannt werden. "
      End If
      
   End If
   Call source.OpenView("ArtikelArtikelBez")
   
Finish:
   Exit Sub
Errorhandler:
   Print {Fehler Nr.}  & Str(Err) & { in "Datenbank - Initialisieren", Zeile } & Str(Erl) & {, } & Error$
   Resume Finish
End Sub

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln