Ein bisschen problem mit VBA (Powerpoint)

N

nomike

Hi!

Ich habe folgende Probleme mit VBA unter M$-Powerpoint:

1. Das Active-X Control Common-Dialogs funzt bei mir nicht (auch auf einigen anderen PC's) Auf manchen Rechnenrn gehts aber. Kann ich einen standard Datei-Öffnen Dialog auch ohne dieses Controll machen? Oder kann ich das Control irgendwie reparieren (erhalte dauernd: "Komponente nicht registriert" oder "Komponente nicht lizensiert")???

2. Ich habe ein schönes Formular mit ein paar Buttons und so gemacht und möchte das jetzt über ein Icon in der Standardsymbolleiste von Powerpoint aufmachen. Dort kann ich ja anscheinend nur Makros aufrufen.

Frage: Wie mache ich im Makro das Formular auf? Ich hab schon in der Hilfe-Geschaut, aber die ist ja wieder mal eine große Hilfe! *g*

3. Ich benutz den ganzen Sch**ß um den Ulead JPEG-Smart-Saver v. 2.0 aufzurufen. Ich hab aber auch die libjpeg.dll.
Kann mir jemand sagen wie ich das mit dieser dll selber machen kann?

4. Kann ich in VBA auf ein Element auf einer Folie zugreifen.
Und wenn ja: Wie greife ich auf das markierte Element zu?

Anm.: Das ganze soll am ende so ausschauen:

a) Der Benutzer fügt eine neue Folie ein und auf der eine Grafik.
b) Der Benutzer markiert die Grafik und drückt einen Button in der Sysmbolleiste.
c) Der Benuzuer kann in einem Fenster das Bild (BMP) auf JPEG umwandeln und sieht immer Quelle und Ergebnis nebeneinander.
d) Der Benutz klickt auf OK, und das Bild in der Folie wird durch das JPEG ausgetauscht


VIELEN DANK IM VORRAUS AN ALLE DIE MIR HELFEN!


mfg
Nomike

PS: Wenn ihr antwortet seid bitte so nett und schreibt die Nummer auf die ihr euch bezieht dazu! (sonst kenn ich mich gar nicht mehr aus! *g*)
 
hi

zu 1.) hatte ein Ähnliches Problem (allerdings in ACCESS). Du musst mal sehen, ob Du außer dem common dialog noch weitere Activ X Referenzen hast. (schau mal in der Hilfe nach "ungültige Referenzen auflösen"

zu 2.) Der Befehl lautet: form1.show

zu 3.) dazu müsstest Du den Aufbau dieser DLL kennen .... das wird schwierig

zu 4.) normalerweise so: folienname.elementname

ich hoffe ich konnte helfen

Gruß
Dunsti
 
Danke!

Sagen wir mal so:

1) Ich hab da ein generelles Problem mit diesen Active-X Blödsinn!
Auf manchen PC's funzt nicht mal ein einfacher Slider!

2) Danke! Da bin ich aber mitlererweise selber draufgekommen!

3) Da hast du leider recht! Aber ich hab das ganze jetzt mit der cjpeg.exe gemacht! Die als windows-konsolen-anwendung kompiliert und den prozess überwach ich mit ein paar kernel funktionen (ich ruf das ganze ja mit shell auf, und das ist leider assynchron!)

4) Hab ich auch schon gelöst!
Ich hab eine Leere Folie mit einem grafik objekt gemacht, den makrorecorder gestartet und eine Grafik eingefügt *gg*

Das Problem das ich jetzt noch habe:

Auf meinem PC funzt alles!
Aber auf den meisten anderen PC's erhalte ich nur fehler vonwegen fehlerhaft installierter und nicht vorhandener Active-x controlls!

schei*e:#

mfg
Nomike
 
schau mal im Visual Basic-Editor unter "Extras - Verweise". Dort siehst Du die, welche externen Module (DLL's usw.) in Deinem Projekt verwendet werden.
Komischerweise sind hier auch ab und zu welche angehakt, welche Du nicht unbedingt brauchst.
Wenn Du dieses Fenster auf einem Rechner anschaust, wo Dein Programm nicht funktioniert, siehst Du auch, welche Verweise nicht funktionieren.
Du musst dann entweder diese Verweise rausnehmen (sofern Du sie nicht doch brauchst), oder musst sie irgendwie mit Deinem Programm zusammen auf den entsprechenden Rechner kopieren. (wobei kopieren alleine nicht ausreichen wird)
Hier ist ein wenig rumprobieren gefragt.

vielleicht kommst Du damit weiter.

Gruß
Dunsti
 
Ich glaub ich habs...

Hab da jemanden gefunden der kennt sich so halbwegs aus.

Der sagte mit ich solle wenn Control verwendet wird mit der rechten Maustaste auf die Wergzeugleiste Klicken und auf "weitere Steuerelemente" oder so ähnlich klicken und dann steht unten die benötigte DLL. Dies und die gleichnamige ocx-Datei liefere ich mit meinem Programm mit, und bei der Installation wird sie (falls nich vorhanden oder veraltert) ins Windows-System verzeichnis kopiert und dann mit "regsrv blabla.dll" registriert!

Ich hab leider zur Zeit kein geeignetes Testsystem, aber ich werd mich damit mal beschäftigen.

mfg
Nomike
 
stimmt, so müsste es funktionieren. Vorraussetzung ist, daß Du besagte OCX-Datei hast. (manchmal hat man nur eine DLL dann geht normalerweise nix).

Allerdings geht's auch wenn Du eine OCX hast nicht immer, weil teilweise noch eine Registrierung (bzw. Lizenz) benötigt wird. Du kannst dann zwar auf die Controls zugreifen (beim Ausführen des Programms), aber mit diesen nichts erstellen.

Gruß
Dunsti
 
Naja...

Benötigen tu ich nur das hier...


C:\WINNT\System32\FM20.DLL - Microsoft Forms 2.0 CheckBox
C:\WINNT\System32\FM20.DLL - Microsoft Forms 2.0 Label
C:\WINNT\System32\FM20.DLL - Microsoft Forms 2.0 CommandButton
C:\WINNT\System32\FM20.DLL - Microsoft Forms 2.0 TextBox
C:\WINNT\System32\FM20.DLL - Microsoft Forms 2.0 Image
C:\WINNT\System32\FM20.DLL - Microsoft Forms 2.0 Frame
C:\WINNT\System32\comdlg32.ocx - Microsoft Common Dialog Control, version 6.0
C:\WINNT\system32\COMCTL32.ocx - Microsoft Slider Control, version 5.0 (SP2)
C:\WINNT\System32\mscomctl.ocx - Microsoft Slider Control, version 6.0


Also fehlt mir anscheinend noch die FM20.OCX!
Aber da das ein Standard-Viech von M$ ist wird das ja zu organisieren sein... bzw. auf den meisten PC's sollten die eh drauf sein...

mfg
Nomike
 
die, die Du hier aufgelistet hast sollten bei PP dabei sein ... aber es ging doch um diese JPEG-irgendwas-DLL, oder ?

Gruß
Dunsti
 
moin moin.
also ich hab da ein problem nachdem ich es der Toolbox hinzugefügt habe ist das (Common Dialog Control nicht lizensiert?

Ich habe schon einen anderen Lösungsvorschlag versucht:
Zuerst über "regsvr32.exe /u comdlg32.ocx" das Control deinstallieren und danach VB updaten... hat aber auch nix genützt.

Sollte vielleicht noch erwähnen, dass ich VB nicht installiert habe sondern nur Office und über Excel darauf zugreife.

Thx
 

Neue Beiträge

Zurück