Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Komilierungsfehler unter WinXP

Komilierungsfehler unter WinXP
06.02.2008 10:30:00
Oliver
Hallo,
ich habe mit Excel2000 und Windows2000 Professional eine Datei geschrieben und mit UserForm und einigen Funktionen per Makro´s gefüllt. Nachdem die Datei geladen ist kann man eine UserForm aufrufen in der ich per CommandButton (Makro) eine ShellExecute starte und pdf-Dateien und die dazugehörende Anwendung (Adobe Acrobat) öffne. Das ganze funktioniert auch bei einem Rechner mit Windows XP und SP2. Das Makro hierzu sieht wie folgt aus:
Declare

Function ShellExecute Lib "shell32" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Sub OpenPDF()
ShellExecute 0, _
"Open", _
"T:\Antriebsberechnungsprogramm\Umlenkungen.pdf", _
vbNullString, _
vbNullString, _
vbNormalFocus
End 

Sub
Jetzt ist es notwendig geworden, das Programm mobil zu gestalten, so dass es inkl. aller  _
Unterverzeichnisse mit pdf-Dateien auch auf ein anderes Laufwerk oder einen anderen Rechner lä _
uft. Also hab ich das Makro geändert, so dass die Unterverzeichnisse direkt angesprochen werden. Unter Win2000 funktioniert das hervorragend, sobald man jedoch nun unter WinXP das Makro anspricht erscheint ein Kompilierungsfehler. Das neue Makro lautet:
Declare 

Function ShellExecute Lib "shell32" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Sub OpenPDF()
Dim strPfad As String
strPfad = ThisWorkbook.Path
If Right(strPfad, 1)  "\" Then strPfad = strPfad & "\"
strPfad = strPfad & "Umlenkungen.pdf"
ShellExecute 0, _
"Open", _
strPfad, _
vbNullString, _
vbNullString, _
vbNormalFocus
End 

Sub
Ich habe jetzt schon alle AddInn´s kontrolliert und abgschaltet, die Verweise im VBA-Editor „ _
Ref Edit Control“ unter XP abgeschaltet, aber der Fehler tritt immer wieder auf. Was kann noch  _
diesen Fehler verursachen? Für Hilfe bin ich sehr Dankbar.
Viele Grüsse
PointOfView
Hi,
kannst du mal deinen Beitrag in lesbarer Form einstellen, mit Umbrüchen und so?
mfg Knut
Hallo Knut,
Entschuldige bitte meinen unstrukturierten Eintrag. Geht´s so besser? Leider wird das erste  _
Declare von diesem Forums-Eingabefenster automatisch aus dem Code heraugestellt (da kann ich leider nix für).
Code mit statischem Verzeichnisbezug (läuft unter Win2000 und WinXP):
Declare 

Function ShellExecute Lib "shell32" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Sub OpenPDF()
ShellExecute 0, _
"Open", _
"T:\Antriebsberechnungsprogramm\Umlenkungen.pdf", _
vbNullString, _
vbNullString, _
vbNormalFocus
End 

Sub
Code mit statischem Verzeichnisbezug (läuft nur unter Win2000 einwandfrei, bei WinXP kommt  _
Kompilierungsfehler):
Declare 

Function ShellExecute Lib "shell32" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long


Sub OpenPDF()
Dim strPfad As String
strPfad = ThisWorkbook.Path
If Right(strPfad, 1)  "\" Then strPfad = strPfad & "\"
strPfad = strPfad & "Umlenkungen.pdf"
ShellExecute 0, _
"Open", _
strPfad, _
vbNullString, _
vbNullString, _
vbNormalFocus
End 

Sub
Viele Grüsse
Oliver
Hallo Oliver,
mein ExcelXP produziert unter WIN XP bei diesem Code keinen Kompilierungsfehler.
Könntest du bitte mal schreiben, WELCHER Fehler auftritt (Fehlertext und evtl. -nummer)
und IN WELCHER ZEILE des Codes?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S.: Am Beginn dieses Beitrags stehen einige pre-Tags...
Von Oliver am 06.02.2008
Hallo Erich,
die Fehlermeldung lautet: Kompilierungsfehler im verborgenen Modul: UserForm100
Im Modul selbst:
Fehler beim Kompilieren: Projekt oder Bibliothek nicht gefunden.
Der Fehler wird bei:
If Right(strPfad, 1)  "\" Then strPfad = strPfad & "\"
beim Wort "Right" markiert.
Viele Grüsse
Oliver

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Komilierungsfehler bei String-Funktionen
06.02.2008 11:02:23
Erich
Hallo Oliver,
du beziehst dich auf deinen vorigen (jetzt nur noch im Archiv sichtbaren) Thread
https://www.herber.de/forum/archiv/944to948/t947618.htm
Mit der Windows-Version hat das Problem wohl nichts zu tun.
Vermutlich gibt es da, wo der Fehler auftritt, störende Verweise auf Bibliotheken in VBA,
die oft gar nicht gebraucht werden.
Das Problem wurde hier schon oft behandelt - such mal im Archiv nach: Bibliotheken
Hier eine Fundstelle, in der auch einige weitere Links stehen:
https://www.herber.de/forum/archiv/820to824/t821593.htm
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Komilierungsfehler bei String-Funktionen
06.02.2008 11:40:00
oliver
Hallo Erich,
die Verweise hab ich schon alle sukzessive deaktiviert um ggf. eine Veränderung feststellen zu können. Leider ohne Erfolg.
Interessant ist halt, dass das ganze unter Win2000 hervorragend funktioniert. Also muss ich zwangsläufig davon ausgehen, dass WinXP hier der Verursacher der Fehlermeldung ist.
Viele Grüsse
Oliver

AW: Komilierungsfehler bei String-Funktionen
06.02.2008 13:32:00
Oliver
Hallo Erich,
ich hab den Fehler gefunden. Dieser wird bei XP mit einem fehlerhaften Verweis zu
"NICHT VORHANDEN: Microsoft PictureClip Control 6.0" (lag ziemlich versteckt und nicht direkt im oberen Fensterbereich!)
ausgelöst, welches aktiviert war. Bei Win2000 ist das aktiviert (aber nicht mit dem Zusatz "NICHT VORHANDEN"), löst dort aber keinen Fehler aus. Also heisst das doch, dass XP hier fehlerhaft ist?
Mit freundlichen Grüssen
Oliver Poppel

Anzeige
AW: Komilierungsfehler bei String-Funktionen
06.02.2008 13:46:00
Erich
Hallo Oliver,
nein, XP ist hier nicht fehlerhaft, mit dem Betriebssystem hat das Ganze nix zu tun.
Ausgelöst wird der Fehler durch den (wohl überflüssigen) genannten Verweis.
Auf dem ersten PC gibt es die Bibliothek, auf die verwiesen wird.
Der Verweis ist also hier nutzlos, aber kein Fehler.
Mit der Mappe werden auch die Verweise auf den zweiten PC transportiert.
Wenn dort eine angesprochene Bibliothek nicht existiert
(oder vielleicht auch in einem anderen Verzeichnis liegt),
gibt es natürlich einen Fehler.
Mein Tipp: Egal, in welchem System: Überflüssige Verweise vermeiden!
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Komilierungsfehler bei String-Funktionen
07.02.2008 08:21:51
Oliver
Hallo Erich,
wie, oder mit welche, Programm kommen denn diese Bibliotheken auf den Rechner? Macht das in diesem Beispiel mit Excel das Office-Packet, oder werden nicht auch einige Bibliotheken durch das Betriebssystem installiert, und die weiteren Applikationen greifen dann darauf zurück?
Viele Grüsse
Oliver

AW: Bibliotheken installiert?
07.02.2008 09:48:56
Erich
Hi Oliver,
viele Programme (auch Windows) bringen bei der Installation Bibliotheken mit.
Außerdem kann man natürlich Bibliotheken selbst schreiben oder (z. B. aus dem Web) kopieren.
Welche Bibliothek mit welchem Programm auf den Rechner kam, dürfte manchmal kaum zu ermitteln sein.
Z. B. kommt das "Microsoft PictureClip Control 6.0" (in PicClp32.ocx) mit Visual Basic (VB6),
allerdings nur in der Professional Edition und der Enterprise Edition, nicht in der Learning Edition.
Das kannst du hier sehen:
http://support.microsoft.com/kb/194784/de
Ob auch andere M$-Programme diese OCX installieren, weiß ich nicht.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Bibliotheken installiert?
07.02.2008 23:58:06
Oliver
Hallo Erich,
Danke für diese Informationen.
Ich habe nun das Programm inkl. Unterverzeichnisse auf unserem Netzwerkserver abgelegt und mit einigen Rechnern getestet. Das Ergebnis hierzu ist leider niederschmetternd. Bei ca. 7 Rechnern wurde getestet, bei 3 Rechnern konnte ich die ShellExecute (beide Varianten) nicht zum laufen bringen. Die Sanduhr (Mousezeiger) hat kurz aufgeflackert und dann Ende. Verweise, AddInns, Makrosicherheitsstufen nachgeschaut und keinen Fehler feststellen können. Ich verzweifle hierbei noch. Das Programm sollte als Plattform für wichtige Berechnungen dienen und ist durch diesen neuen Umstand wohl nun scheitern verurteilt. Die Office-Versionen sind bei allen Rechnern gleich. Unterschiede gibt es bei den Windows-Betriebssystemen und deren Service-Packs. Wer kann mir hier noch helfen?
Viele Grüsse
Oliver
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige