Autor Thema: Dateipfad auswählen Lotus Notes /Domino 8.5  (Gelesen 16065 mal)

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Dateipfad auswählen Lotus Notes /Domino 8.5
« am: 18.09.09 - 10:42:03 »
Hallo zusammen,

ich bin neu hier und bin mir nicht sicher, ob ich meine Frage richtig eingestellt habe  ???

Ich möchte gerne aus einer Maske mit einem Button einen Dateipfad auswählen. Ich habe bereits aus einem anderen Beitrag, dass ich folgendes einfügen muss.

Decleration:

Type fileDlgStruct
   lStructSize As Long
   hwndOwner As Long
   lpstrFilter As String
   lpstrCusomfilter As Long
   nMaxCustFilter As Long
   nFilterIndex As Long
   lpstrFile As String
   nMaxFile As Long
   lpstrFileTitle As String
   nMaxFileTitle As Long
   lpstrInitialDir As String
   lpstrtTitle As String
   Flags As Long
   nFileOffset As Integer
   nFileExtension As Integer
   lpstrDefExt As String
   lCustData As Long
   lpfnHook As Long
   lpTemplsteName As Long
End Type


Declare Function getFileName Lib "comdlg32.dll" Alias _
"GetopenFileNameA" (fileDlg As fileDlgStruct) As Long

---------------------------------------------------------------------------------------------------------------------

APIGetFile:

Function APIGetFile()
   Dim Title As String
   Dim defExt As String
   Dim szCurDir As String
   Dim apiresults%
   
   title = "Datei für den export auswählen" & Chr$(0)
   FileName ="*.xls" & Chr$(0)
   FileTitle = Space$(255) & Chr(0)
   
   szCurDir = "C:\Dokumente und Einstellungen" & Chr$(0)
   myFileDlg.lStructSize = Len(myFileDlg)
   
   myFileDlg.hwndOwner = 0&
   myFileDlg.lpstrFilter = Filter
   myFileDlg.nFilterIndex = 1
   myFileDlg.lpstrFile = Filename
   myFileDlg.nMaxFile = Len (Filename)
   myFileDlg.lpstrFileTitle = FileTitle
   myFileDlg.nMaxFileTitle = Len(FileTitle)
   myFileDlg.lpstrTitle = Title
   myFileDlg.Flags = OFN_Filemustexist + OFN_Allowmultiselect
   myFileDlg.lpstrDefext = DefExt
   myFileDlg.hInstance = 0
   myFileDlg.lpstrCustomFilter = 0
   myFileDlg.nMaxCustFilter = 0
   myFileDlg.lpstrInitialDir = szCurDir
   myFileDlg.nFileOffset = 0
   myFileDlg.nFileExtension = 0
   myFileDlg.lCustdata = 0
   myFileDlg.lpfnhook = 0
   myFileDlg.lpTemplateName = 0
   
   REM Aufruf der Box
   
   APIResults% = GetFileName(myFileDlg ) ------> bekomme ich einen Fehler!?!?!
   If APIResults% <> 0 Then
      Filename = Cstr( myFileDlg.lpstrFile )
      Filetitle = Cstr (myFileDlg.lpstrFileTitle )
      OpenCommDlg = 1
      
   Else
      
      OpenCommDlg = 0
      
   End If
   
End Function
-------------------------------------------------------------------------------------------------------------

Unter "Click" steht nichts. Muss dort nicht noch etwas stehen?

Vielen dnak im voraus. Ich beschäftige mich noch nicht lang mit Lotus Script (sieht man vielleicht...).

Grüße
« Letzte Änderung: 18.09.09 - 12:15:54 von moprheusfgh »

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dateipfad auswählen
« Antwort #1 am: 18.09.09 - 10:52:56 »
Hallo,

Was genau hast du denn vor ?
Einen Button zum auswählen eines Dateipfades ist nicht so schwer.
Da hilft dir bestimmt auch noch die Forensuche.
eventuell hilft dir das ja schon:
http://atnotes.de/index.php/topic,8263.0.html

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen
« Antwort #2 am: 18.09.09 - 10:59:04 »
Hi,

ich möchte einen Import von einer Exceldatei in das Visio erstellen. Hab das auch alles hinbekommen. Das einzige Problem ist, dass ich selber im Script den Dateipfad ausgewählt habe:

run = path + "\Microsoft Office\Office12\OrgWiz.exe " + "/NAME-FIELD=Name /MANAGER-FIELD=Vorgesetzter /DISPLAY-FIELDS=Name,Abteilung   /UNIQUEID-FIELD=Eindeutige_ID /FILENAME=C:\temp\mappe7.xls"
   result = Shell(run, 1)

Ich will aber, dass ich den Filename durch eine Box auswählen kann.

Viele Grüße

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Dateipfad auswählen
« Antwort #3 am: 18.09.09 - 11:00:09 »
Hallo,

Klafu war schneller mit der Frage.

Was moechtest Du?

Mit ein bisschen Code hilft eventuell aber auch schon
Code
FileName = NotesUIWorkspace.OpenFileDialog(...)
weiter.

Aus dem Rueckgabewert kann man ohne groesseren Aufwand den gewaehlten Pfad extrahieren.

Aber auch
Code
@Prompt([LocalBrowse]; "Select File"; 1)

waere eventuell eine Alternative


Andreas

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dateipfad auswählen
« Antwort #4 am: 18.09.09 - 11:02:19 »
Du musst nur den vordefinierten Pfad durch eine Variable ersetzen, welcher du die Pfadauswahl zuweist.

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen
« Antwort #5 am: 18.09.09 - 11:09:17 »
Also zum Beispiel:   

pfad = NotesUIWorkspace.OpenFileDialog(????)

run = path + "\Microsoft Office\Office12\OrgWiz.exe " + "/NAME-FIELD=Name /MANAGER-FIELD=Vorgesetzter /DISPLAY-FIELDS=Name,Abteilung _
/ UNIQUEID-FIELD=Eindeutige_ID /FILENAME=pfad"
result = Shell(run, 1)

Sorry bin echt neu in diesem Bereich. Mir fehlen einige Grundkenntnisse :-)

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen
« Antwort #6 am: 18.09.09 - 11:11:12 »
Hi

mit dem

@Prompt([LocalBrowse]; "Select File"; 1)


hat es geklappt.

Jetzt muss ich nur noch den Rückgabewert irgendwie rein bekommen

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dateipfad auswählen
« Antwort #7 am: 18.09.09 - 11:20:43 »
Hier noch ein kleines beispiel aus der Notes Hilfe.

Löscht das über die OpenFileDialog-box ausgewählte File

Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
  REM Get filename from user
	filenames = ws.OpenFileDialog( _       ' hier wird der variablen das der Pfad zugewiesen
	True, "Select files to be deleted",, "c:\work")
	If Not(Isempty(filenames)) Then
		Forall filename In filenames     
			Kill filename                        ' hier wird mit dem Pfad weitergearbeitet
		End Forall
	End If
End Sub
« Letzte Änderung: 18.09.09 - 11:22:14 von Klafu »
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Dateipfad auswählen
« Antwort #8 am: 18.09.09 - 11:35:12 »
Eventuell ist ein Blick in die Designer-Hilfe hilfreich.

hier ein kleiner Auszug
Code
Datei:= @Prompt([LocalBrowse]; "Wählen Sie die Datenbank, die geöffnet werden soll"; "1");
@If(Datei = ""; @Return(1); "");

Andreas

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen
« Antwort #9 am: 18.09.09 - 11:36:27 »
Vielen Dank für deine Hilfe.

Es öffnet sich das Dialogfeld.

Es kommt aber nach der auswahl: Path/file access error

Was kann das sein?

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Dateipfad auswählen
« Antwort #10 am: 18.09.09 - 11:38:02 »
Ein kleines Stueckchen Code waere hier eventuell hilfreich.


Andreas

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen
« Antwort #11 am: 18.09.09 - 11:40:44 »
Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim pfad As String
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = uiws.CurrentDocument
  REM Get filename from user
   filenames = ws.OpenFileDialog( _       ' hier wird der variablen das der Pfad zugewiesen
   True, "Select files to be deleted",, "c:\work")
   If Not(Isempty(filenames)) Then
      Forall filename In filenames     
         Kill filename                        ' hier wird mit dem Pfad weitergearbeitet
      End Forall
   End If
End Sub

Sorry....

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Dateipfad auswählen
« Antwort #12 am: 18.09.09 - 11:42:26 »
Darf der Anwender, der den Button angeklickt hat, denn die gewaehlte Datei loeschen bzw. in dem betreffenden Verzeichnis?

Sieht mir stark nach einem Rechte-Problem auf Seiten des BS aus.


Andreas

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen
« Antwort #13 am: 18.09.09 - 11:45:21 »
Ja ich hab lokale adminrechte und kann auch die Datei löschen.

Hier nochmal mein kompletten script:

Sub Click(Source As Button)
   Dim visio As Variant
   Dim excel As Variant
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = uiws.CurrentDocument
   Dim result As Integer
   Dim path As String
   Dim run As String
   Dim pfad As String
   
   Dim ws As New NotesUIWorkspace
  REM Get filename from user
   filenames = ws.OpenFileDialog( _       ' hier wird der variablen das der Pfad zugewiesen
   True, "Select files to be deleted",, "c:\work")
   If Not(Isempty(filenames)) Then
      Forall filename In filenames     
         Kill filename                        ' hier wird mit dem Pfad weitergearbeitet
      End Forall
   End If
   
   
   path=Environ$( "ProgramFiles" )
   
   pfad = "Select File"
   

   
   Sleep (5)
   run = path + "\Microsoft Office\Office12\OrgWiz.exe " _
   + "/NAME-FIELD=Name / MANAGER-FIELD=Vorgesetzter  /DISPLAY-FIELDS=Name,Abteilung   /UNIQUEID-FIELD=Eindeutige_ID /FILENAME=pfad"
   result = Shell(run, 1)
   
   
   
   
   
   
   
   
End Sub

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dateipfad auswählen
« Antwort #14 am: 18.09.09 - 11:49:46 »
du hast da glaub was falsch verstanden:


Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   filenames = ws.OpenFileDialog( _    
   True, "Select files to be deleted",, "c:\work")
   If Not(Isempty(filenames)) Then
      
run = path + "\Microsoft Office\Office12\OrgWiz.exe " _
   + "/NAME-FIELD=Name / MANAGER-FIELD=Vorgesetzter  /DISPLAY-FIELDS=Name,Abteilung   /UNIQUEID-FIELD=Eindeutige_ID /FILENAME="+filenanames
   result = Shell(run, 1)

   End If
End Sub
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Dateipfad auswählen
« Antwort #15 am: 18.09.09 - 11:53:45 »
Ansich scheint der Code richtig zu sein (ist ja wie es aussieht 1:1 aus der Hilfe)

Frage:
Das Verzeichnis "c:\work" gibt es aber schon auf dem Rechner?

%EDIT
Auch der Debugger kann bei der Fehlersuche helfen.
In welcher Zeile Deines Codes kommt denn der besagte Fehler?


Andreas

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen
« Antwort #16 am: 18.09.09 - 12:07:35 »
Ja den Ordner work gibt es.

Ich hab mal den code von Klafu komplett übernommen.

Warum steht den da: Select files to be deleted?

Es kommt wieder die gleiche Meldung mit Access error.

Meine Datei, die ich auswählen will ist eine Exceldatei auf C:\temp\mappe7.xls

Vielleicht sollte ich nochmal meinen kompletten Sachverhalt schildern:

Ich habe einen Button erstellt, mit dem ich einen import ins visio erstellen will. Eine Exceldatei soll ins Visio importiert bzw. exportiert werden. Das funktioniert auch alles bis auf die manuelle Pfadauswahl.

So sieht im Moment mein Script aus:

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   filenames = ws.OpenFileDialog( _   
   True, "Select files to be deleted",, "c:\work")
   If Not(Isempty(filenames)) Then
      
      run = path + "\Microsoft Office\Office12\OrgWiz.exe " _
      + "/NAME-FIELD=Name / MANAGER-FIELD=Vorgesetzter  /DISPLAY-FIELDS=Name,Abteilung   /UNIQUEID-FIELD=Eindeutige_ID /FILENAME="+filenanames
      result = Shell(run, 1)
      
   End If
End Sub


Danke nochmal

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Dateipfad auswählen
« Antwort #17 am: 18.09.09 - 12:21:52 »
Warum steht den da: Select files to be deleted?

Das ist der Fenster Titel. Den kannst du frei umbenennen

Du hast das Script in Visio und möchtest über dieses Script ein Excel file ins Viosio Impotieren ?
Wozu brauchst du dann Notes ?

Chris
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline moprheusfgh

  • Frischling
  • *
  • Beiträge: 14
Re: Dateipfad auswählen Lotus Notes /Domino 8.5
« Antwort #18 am: 18.09.09 - 12:24:44 »
Nein Sorry...

Ich hab eine Maske in Notes. Da habe ich ein Button erstellen, damit ich aus dem Notes diesen Vorgang durchführen kann. Ich will dann am schluss alle exportvorgänge speichern usw. (das probiere ich aber wann anders). Zuerst möchte ich nur gerne, dass der Button funkt.


Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Dateipfad auswählen
« Antwort #19 am: 18.09.09 - 12:24:59 »
Warum steht den da: Select files to be deleted?

Das ist der Titel der Dialogbox. Da kann genauso gut stehen: "Gehe nicht über los".

run = path + "\Microsoft Office\Office12\OrgWiz.exe " _
      + "/NAME-FIELD=Name / MANAGER-FIELD=Vorgesetzter  /DISPLAY-FIELDS=Name,Abteilung   /UNIQUEID-FIELD=Eindeutige_ID /FILENAME="+filenanames

Hast du denn fettgedruckten Teil mal überprüft. Stimmt das so? Das kann ich mir nicht so recht vorstellen.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz