Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wer ist der Moniker?

Wer ist der Moniker?
16.09.2006 13:08:14
Thorsten
Mahlzeit,
Was macht der Moniker in meinem Rechner? - Folgendes Problem:
In "STRG!R10" stehen komplette Pfade zu Datein (.xls/.mdb/.pdf/.doc)
oder eine Web-Adresse (diese könnte ich zur Not noch auslagern, wenn dafür ein anderes Makro gebraucht wird).
Der Pfad ändert sich durch vorher getroffene Auswahl.
Wie muss das Marko aussehen um den Pfad zu öffnen?
Bei meinem Versuch erscheint: "Systemfehler ... Datei konnte durch Moniker nicht geöffnet werden."

Sub Öffne_LinkEX()
Dim s
Set s = CreateObject("shell.application")
ActiveWorkbook.FollowHyperlink "STRG!R10"
End Sub

Für Hilfe schonmal besten Dank,
Gruß Thorsten

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wer ist der Moniker?
16.09.2006 16:49:53
Reinhard
Hi Thorsten,
Moniker las ich bei dir zum ersten Ma, nachfolgend steht eine Kurzbeschreibung.
Option Explicit
Sub Öffne_LinkEX()
Dim s As Object, Pfad As String
Pfad = "C:\Test\"
Worksheets("STRG").Range("R10") = "Beispiel.xls"
Set s = CreateObject("shell.application")
ActiveWorkbook.FollowHyperlink Pfad & Worksheets("STRG").Range("R10")
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Moniker sind gespeicherte Objekt Zustände wen Du so willst.
Du kannst Com Objekte über eine Classfactory erzeugen, CoCreateInstance
macht nichts anderes. Ein so erzeugtes Objekt hat immer nur einen
Grundzustand, den Du dann über entsprechende Befehle wieder füllen kannst.
(Denk mal an ein Dokument oder ähnliches).
Ein Moniker dient nun dazu eine Datei oder einen Zustand wieder
herzustellen. Der Moniker wird in einen Parser Vorgang geschickt, der dann
dafür sogrt das ein Objekt instanziert wird das genau dem Zustand entspricht
der in der Datei oder dem Zusammengesetten Moniker gespeichert wird.
Häufigste Anwendung ist die für CoGetObject. Hier kann ein Moniker
regisrtiert werden. Ist der entsprechende Datei Moniker bereits registriert
(d.h. die Datei geladen) wird das entsprechende Interface returniert. Ist
dies nicht der Fall wird über einen Moniker und IPersistFile die
entsprechende Datei geladen.
Beispiel Word. CoGetObject(L"C:\\Test.doc",...,IID_IDispatch,...) würde Das
Document Objekt liefern wenn Test.doc von Word schon bearbeitet wird und
wenn nicht, Word starten und das Objekt laden und Dir zurückgeben....
Weitere Literatur: Kraig Brockschmidt Inside OLE2 und Essential COM von Don
Box
Anzeige
AW: Wer ist der Moniker?
16.09.2006 20:12:54
Thorsten
Hallo Reinhard,
Das mit "Wer ist der Moniker?" war spassig gemeint. Ich meine,
ich wollte nicht, dass jemand für mich die Recherche übernimmt.
Aber Top-Erklärung - Besten Dank. Wobei ich eingestehen muss
nicht alles zu verstehen.
Ich hatte diese Fehlermeldung auch zum ersten mal gesehen. Allerdings kein Wunder,
da ich nur wenig mit VBA arbeite (einfach keine Ahnung - und finde nie dazu die Zeit).
Ich denke aber, dass deine ausführliche Beschreibung auch für einige Andere Leser interessant ist.
In der Datei ist nur Bild von Fehlermeldung (wer`s mal sehen will)
https://www.herber.de/bbs/user/36727.xls
Natürlich funkt auch dein VBA. Damit hast du mir wirklich sehr geholfen.
Also nochmal Danke und schönen Abend noch.
Gruß aus Leipzig
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige