Autor Thema: URL über anderen Webretriever öffnen  (Gelesen 4012 mal)

Offline klez

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
URL über anderen Webretriever öffnen
« am: 22.08.05 - 10:10:14 »
Guten Morgen allerseits!

Ich habe folgendes Problem:
Ich sollte eine Mail erstellen, in welcher der User eine Website durch Klick auf einen Textlink oder Button aufrufen kann. Diese Seite muss zwingend in einem externen Internet Explorer-Fenster geöffnet werden. Unsere Mitarbeiter können aber ihren Webretriever unter den Location Settings selber einstellen. Diese Einstellungen sollten nicht verändert werden, bzw nach der URL-Öffnung erhalten bleiben.

Als Notes-Neuling habe ich einen Button in der Mail folgendermassen verunstaltet:
Code
Sub Click(Source As Button)
	'------------------------
	Dim str_URL As String
	str_URL = "www.google.ch"
	'------------------------
	
	Dim session As NotesSession
	Dim strLocation As String   'used to get Location from Notes.INI
	Dim intComma As Integer     'position of first comma
	Dim dbNAB As NotesDatabase  'personal Name & Address Book
	Dim viewLocations As NotesView
	Dim docLocation As NotesDocument
	Dim item As NotesItem
	Dim int_oldbrowser 
	
	Set session = New NotesSession
	strLocation = session.GetEnvironmentString("Location",True)
	intComma = Instr(strLocation, ",")
	strLocation = Left$(strLocation, intComma-1)
	Set dbNAB = session.GetDatabase("", "names.nsf")
	Set viewLocations = dbNAB.GetView("Locations")
	Set docLocation =	viewLocations.GetDocumentByKey(strLocation)
	int_oldbrowser = docLocation.GetItemValue( "WebRetriever" )
	If (docLocation.WebRetriever(0) <> "2") Then
		Set item = docLocation.ReplaceItemValue("WebRetriever", "2")
		Call docLocation.Save(True, False)
	End If
	Set notesUIWorkspace = New NotesUIWorkspace
	Call notesUIWorkspace.URLOpen(str_URL)
	Set item = docLocation.ReplaceItemValue("WebRetriever", int_oldbrowser)
	Call docLocation.Save(True, False)
	
End Sub

Meine Überlegung kurz erläutert:
- Zuerst sollte die alte Einstellung in der Variable "int_oldbrowser" gespeichert werden.
- Dann mit "Set item = docLocation.ReplaceItemValue("WebRetriever", "2")" auf den externen IE einstellen.
- Dann mit "Call notesUIWorkspace.URLOpen(str_URL)" die Website öffnen.
- Alte Einstellung wieder einstellen: "Set item = docLocation.ReplaceItemValue("WebRetriever", int_oldbrowser)"

Leider klappt das ganze nicht so, wie ich will. Die Einstellungen werden  zwar übernommen, jedoch anscheinend zu spät. Der Link öffnet weiterhin innerhalb von Notes.

Was mache ich falsch?


mfg

Michael




Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: URL über anderen Webretriever öffnen
« Antwort #1 am: 22.08.05 - 10:58:56 »
keine Antwort auf deine Frage, aber ein anderer Lösungsvorschlag.

Du könntest mit dem shell Befehl den IExplorer starten und ihm sagen, welche Seite er öffnen soll.

Der Befehl zum Starten des IE lautet

iexplore http://www.atnotes.de

also insgesamt könnte das so aussehen:

Call Shell("iexplore http://www.atnotes.de")
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline klez

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
Re: URL über anderen Webretriever öffnen
« Antwort #2 am: 22.08.05 - 12:24:43 »
keine Antwort auf deine Frage, aber ein anderer Lösungsvorschlag.

Du könntest mit dem shell Befehl den IExplorer starten und ihm sagen, welche Seite er öffnen soll.

Der Befehl zum Starten des IE lautet

iexplore http://www.atnotes.de

also insgesamt könnte das so aussehen:

Call Shell("iexplore http://www.atnotes.de")

Sehr interessanter Vorschlag, der mir auch viel logischer vorkommt :)

Nur meine Umsetzung misslang:

Code
Sub Click(Source As Button)
	Call Shell("iexplore http://www.atnotes.de")
End Sub
Das ergibt den Fehler:
"Data not saved due to script error(s)" (kann das Script gar nicht speichern.

In der Notes Hilfe finde ich folgendes Beispiel:
Code
' Start the Windows Calculator as a normal (not minimized)
' window with focus.
Dim taskId As Integer
taskId% = Shell("CALC.EXE", 1)
Und angepasst:
Code
Sub Click(Source As Button)
	Dim taskId As Integer
	taskId% = Shell("iexplore http://www.atnotes.de", 1)
End Sub
Dann bekomme ich:
"File not found"

In der Hilfe steht noch folgendes, womit ich nicht klar komme:
Zitat
Usage
Shell must be called from within an expression or an assignment statement, so that its return value is used.

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: URL über anderen Webretriever öffnen
« Antwort #3 am: 22.08.05 - 13:05:06 »
der Shell-Befehl kennt also den Ort, an dem die iexplore.exe liegt, nicht.
Dann musst du ihn wohl aus der Registry ermitteln.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
Paths\IEXPLORE.EXE
« Letzte Änderung: 22.08.05 - 13:14:27 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: URL über anderen Webretriever öffnen
« Antwort #4 am: 22.08.05 - 13:17:25 »
Ist es dann nicht wesentlich einfacher die Politik den Webretriever zu benutzen zu ändern?
Dh. im Location Dokument IE einzustellen?
Weiss eigentlich jemand, ob am Web Retriever von Seiten von Lotus überhaupt weiterentwickelt wird?
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline klez

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
Re: URL über anderen Webretriever öffnen
« Antwort #5 am: 22.08.05 - 13:30:43 »
der Shell-Befehl kennt also den Ort, an dem die iexplore.exe liegt, nicht.
Dann musst du ihn wohl aus der Registry ermitteln.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
Paths\IEXPLORE.EXE

Gleich mal getestet:

Code
Sub Click(Source As Button)
	Set wsh = createobject("Wscript.Shell")
	x = wsh.RegRead(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths\IEXPLORE.EXE)
	Dim taskId As Integer
	taskId% = Shell(x & " www.google.ch", 1)
End Sub

Wobei die Zeile
"x = wsh.RegRead(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths\IEXPLORE.EXE)"
den Fehler "Division by zero" auslöst...

Der Windows Scripting Host ist installiert.

Ich suche grade ne neue Variante zum Auslesen.

Glombi

  • Gast
Re: URL über anderen Webretriever öffnen
« Antwort #6 am: 22.08.05 - 13:35:18 »

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: URL über anderen Webretriever öffnen
« Antwort #7 am: 22.08.05 - 13:42:20 »
oder hier: http://www.abc.se/~m9071/lss/Registry.lss.html

Das ist eine Klasse, die den Zugriff auf die registry kapselt.

Meine Codebeipiele können leider Fehler enthalten, weil ich kein Notes habe, um sie auszuprobieren
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Glombi

  • Gast
Re: URL über anderen Webretriever öffnen
« Antwort #8 am: 22.08.05 - 13:45:45 »
Es geht auch so:

ret = Shell("rundll32.exe url.dll,FileProtocolHandler http://www.atnotes.de")

siehe
http://www.winfaq.de/faq_html/tip0564.htm

Andreas
« Letzte Änderung: 22.08.05 - 13:48:09 von Glombi »

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: URL über anderen Webretriever öffnen
« Antwort #9 am: 22.08.05 - 13:48:28 »
Das ist einfacher :)

Achtung:
Öffnet nicht zwingend den IExplorer, sondern immer den Standardbrowser.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline klez

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
Re: URL über anderen Webretriever öffnen
« Antwort #10 am: 22.08.05 - 13:54:37 »
Es geht auch so:

ret = Shell("rundll32.exe url.dll,FileProtocolHandler http://www.atnotes.de")

siehe
http://www.winfaq.de/faq_html/tip0564.htm

Andreas



Das suchte ich, tausend Dank!

Offline klez

  • Frischling
  • *
  • Beiträge: 11
  • Geschlecht: Männlich
Re: URL über anderen Webretriever öffnen
« Antwort #11 am: 22.08.05 - 13:55:34 »
Das ist einfacher :)

Achtung:
Öffnet nicht zwingend den IExplorer, sondern immer den Standardbrowser.

Sollte kein Problem sein. Die User können keine Programme installieren und somit nichts an der Einstellung fummeln.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz