Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Image in UserForm LoadPicture dauerhaft einbinden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Image in UserForm LoadPicture dauerhaft einbinden (17702 mal gelesen)
Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 22. Feb. 2007 15:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich bastle an einer UserForm, die in Abhängigkeit von einem OptionButton (die runden) auf einem Image (auch: Anzeige) ein Bildchen anzeigt. Klicke ich auf einen anderen Button, so wird im Image ein anderes Bild angezeigt. So weit, so gut.

Es wird also abgefragt, welcher OptBut gerade aktiv ist; davon ausgehend wird dann beim Ereignis (OptBut_Click) sowas wie "imgWASAUCHIMMER.Picture = LoadPicture(C:\..." ausgeführt und ein entsprechendes Bildchen (momentan alles *.bmps) geladen; Luxus für den User sozusagen ;-). Anderes Knöpfchen, anderes Bildchen: Immer noch gut.

Was mich "stört", ist der Bezug: LoadPicture(C:\...". Wie erwartet, gibt's auch prompt den Laufzeitfehler '53': Datei nicht gefunden, wenn ich das Bildchen aus dem Pfad lösche/verschiebe.

Nun zur eigentlichen Frage: Ist es möglich, das Bild permanent (und dennoch flexibel) in die UserForm einzubauen, ohne daß die Bildchen in irgendeinem bestimmten Verzeichnis liegen müssen? Ich will die Datei u.U. an 'nen Kollegen weitergeben und natürlich vermeiden, daß er dann die gleich Ordnerstruktur haben muß. Kann VBA auf Bilder (IMHOIn my humble oppinion (Meiner Meinung nach) 'Shapes'), die in einer xls-Mappe liegen, zugreifen? Hat jemand diesbezüglich Erfahrungen oder weiß andere Wege oder Möglichkeiten? Icon Creator oder sonstwas?

Vorab schonmal danke für's Lesen...

------------------
Gruß,
Frederik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 22. Feb. 2007 18:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo Frederik,

du könntest die Bilder, so es immer die selben sind, auch in der Mappe / Userform vorhalten.

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 22. Feb. 2007 21:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Etwas anderer Ansatz: übergib ne zip mit Datei und Bildern, die wird doch normalerweise in einen Pfad entpackt, damit sind die Bilder unter ActiveWorkbook.Path greifbar für die UF.

Aber ich hab dennoch ein wenig gestöbert, auch unter dem Aspekt in der Tabelle vorhalten... Viel Spaß ;-)

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 22. Feb. 2007 23:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich


frederik-beispiel.xls.txt

 
Abend oder fast gute Nacht;-)

die Sache scheint tricky, ist aber eigentlich ganz leicht innerhalb einer Userform.
Der Trick ist, - wenn man denn von Trick reden kann;-) -
... im Entwurfsmodus zieht man sich die UF größer und lädt zwei
zusätzliche Images rein, denen man eine jeweilige Picture-Eigenschaft zuweist.
Das kann man handmade im Eigenschaftsfenster tun.
Image1.picture - also der eigentlich gewünschten Anzeige - verpasst man dann einfach jeweils
die Eigenschaften von image2 oder image3.
Danach im VBE die Userform wieder 'verkleinern', sodass IMG2+3 ausserhalb liegen.

However ... lange Rede usw. ... siehe Beispiel;-) -->

lg Nancy
--
If the world were a logical place, men would ride side-saddle. [Rita Mae Brown]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Mitglied
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell PRECISION M90
Intel Core 2 CPU; 2.00GHz
3,25 GB RAM
NVIDIA Quadro FX 2500
mit jeder Menge nützlicher
und unnützlicher Software :-)

erstellt am: 23. Feb. 2007 07:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Guten Morgen Frederik,

soweit ich weis kann man bei der LoadPicture Methode auch relative Pfade angeben, also ein Pfad von der Excel-Datei ausgesehen.
z.B Image\Bild.bmp, ..\Bild.bmp oder einfach Bild.bmp
Dann ist der Bezug nur auf die Datei und weg vom Dateisystem.
Ich hoffe ich verwechsle da jetzt nix, da es in .net 100% geht. Aber wie gesagt, ich glaube das war früher auch schon so!

------------------
Mfg Daniel

Beim Bill Gates, bei uns .net!
------------------

SolidWorks Programmierung; Schuler Design Automation GmbH

[Diese Nachricht wurde von tbd am 23. Feb. 2007 editiert.]

[Diese Nachricht wurde von tbd am 23. Feb. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 23. Feb. 2007 07:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Wow, so einfach ist das?
Und jetzt hab ich wieder mein altes Problem:
Wo genau sind diese Bilder gespeichert und wie komme ich da ran?
Hintergrund auch: Ich bekomme jede Woche eine Datei da drin allerdings in der Tabelle, nicht in einer UF sind z.B. die Wappen von Vereinen und zum Henker, ich bekomm die Dinger da nicht rausgespeichert. Ich hab da jetzt allerdings was bei herber gefunden (vom nepumuk übrigens ;-) ) damit kann man msoPictures exportieren. Muß ich mal checken, aber zurück zu Deiner UF mit den wunderhübschen Blumenbildern ;-) Wo sind diese bitmap gespeichert? Ich bekomm' die doch tatsächlich da nicht raus :-(
Wer kann helfen an diesem schönen Freitag Morgen? Ich glaube, ich stell mich da einfach nur blöde an...

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 23. Feb. 2007 09:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Liebstes Runkelrübchen, 

einfach mal das Userform im Entwurfsmodus höher machen (am mittleren unteren Ziehpunkt nach unten ziehen). Da findest du die beiden Images. Sie sichtbar zu machen ist aber nicht notwendig, du kannst ihre Eigenschaften auch in der Combobox über dem Eigenschaftsfenster anwählen. Wenn du die Bilder rauskopieren willst, dann einfach den Cursor in der Picture-Eigenschaft platzieren (eine blinkende Senkrechte im Wort Bitmap) und mit Strg+C kopieren (so kannst du übrigens auch Bilder mit Strg+V einfügen). Dann einfach in ein Bildbearbeitungsprogramm einfügen. Ich hab aber auch mal eine Routine geschrieben, mit der du das automatisieren kannst.

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 23. Feb. 2007 09:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo nepumuk,
Wo trekkie die versteckt hat, hat sie ja drangeschrieben, das war nicht das Problem. Trotzdem danke. :-)
 
Zitat:
Dann einfach in ein Bildbearbeitungsprogramm einfügen

und dann von dort auf Platte speichern, diesen Zwischenschritt dachte ich mir sparen zu können, ich wollte es direkt im Explorer einfügen ;-) OK, das geht nicht. THX. hab doch gesagt, ich stell' mich blöde an ;-)
Ich hab von Dir so einige Routinen gefunden gestern Abend ;-) welche meinst Du speziell?


------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 23. Feb. 2007 09:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Liebe Nachtschwärmer und Frühaufsteher,

[OTon] Ich bitte zu berücksichtigen, daß meine Wenigkeit knappe 2h Fahrzeit (einfach) auf sich nimmt, Tageslicht also nur durch's Bürofenster wahrnimmt . [OToff]

Danke schön erstmal für die zahlreichen Tips (Tipps?)! Ich werde mir jeden einzelnen davon 'reinziehen - bei Gelegenheit, versteht sich, die sich gerade aber leider nicht gibt . Ich melde mich wieder!

------------------
Gruß,
Frederik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 23. Feb. 2007 09:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo runkelrübe,

na den z.B.:

Code:
Option Explicit

Private Declare Function CopyImage Lib "user32.dll" ( _
    ByVal handle As Long, _
    ByVal imageType As Long, _
    ByVal newWidth As Long, _
    ByVal newHeight As Long, _
    ByVal lFlags As Long) As Long
Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
Private Declare Function EmptyClipboard Lib "user32.dll" () As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Private Declare Function OpenClipboard Lib "user32.dll" ( _
    ByVal hwnd As Long) As Long
Private Declare Function SetClipboardData Lib "user32.dll" ( _
    ByVal wFormat As Long, _
    ByVal hMem As Long) As Long
   
Private Const IMAGE_BITMAP = 0&
Private Const LR_COPYRETURNORG = &H4
Private Const CF_BITMAP = 2&
Private Const GC_CLASSNAMEMSEXCEL = "XLMAIN"

Public Sub test()
    Dim lngTempPicture As Long
    Dim objShape As Shape, objChartObject As ChartObject
    If Not UserForm1.Picture Is Nothing Then 'Namen des Userforms anpassen !!!
        lngTempPicture = CopyImage(UserForm1.Picture.handle, _
            IMAGE_BITMAP, 0&, 0&, LR_COPYRETURNORG)
        If lngTempPicture <> 0 Then
            Application.ScreenUpdating = False
            OpenClipboard FindWindow(GC_CLASSNAMEMSEXCEL, Application.Caption)
            EmptyClipboard
            SetClipboardData CF_BITMAP, lngTempPicture
            CloseClipboard
            ThisWorkbook.Worksheets.Add.Name = "Temp"
            With Worksheets("Temp")
                .Paste
                Set objShape = .Shapes(1)
                Set objChartObject = .ChartObjects.Add(0, 0, _
                    objShape.Width, objShape.Height)
                With objChartObject
                    .Chart.Paste
                    .Chart.Export Filename:=ThisWorkbook.Path & "\Bild.jpg", _
                        FilterName:="JPG", Interactive:=False 'Pfad und Name anpassen !!!
                End With
                Set objChartObject = Nothing
                Set objShape = Nothing
                With Application
                    .DisplayAlerts = False
                    Worksheets("Temp").Delete
                    .DisplayAlerts = True
                    .ScreenUpdating = True
                End With
            End With
        End If
    End If
End Sub


------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 23. Feb. 2007 09:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo nepumuk,
Ja, wow. Danke. Nicht ganz meine Liga, aber ausführen kann ich das bestimmt alleine ;-)
Ich zieh's mir heute Abend mal genauer rein.
Angenehmen Arbeitstag noch 

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 23. Feb. 2007 16:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Puuh - wow - schwitz. Wo fange ich an??? Am besten mal von "oben nach unten"... 
Zitat:
Nepumuk: ..du könntest die Bilder, so es immer die selben sind, auch in der Mappe / Userform vorhalten.
JA - das wär' was - wie in meiner Eingangsfrage bereits angedeutet. Könntest Du darauf bitte nochmal näher eingehen? Mappe? Oder meintest Du Nancys Variante?

Ich hole mir die Bilder (für mein derzeitiges Vorhaben) aus einem pdf mittels Screenshot (Tool im Reader). Dann ist es ja egal, ob ich den Inhalt der Zwischenablage in irgendeinem Zeichenprogramm abspeichere und mir dann -etwas umständlich- wieder in xls 'reinlade, oder ob ich sie clevererweise gleich per Strg + v in xls einfüge. Möglichkeit zwei (in xls) ist mir lieber, da ich dann "vor Augen" habe, was ich tue, ohne zwischen Anwendungen schalten zu müssen... Komfort bei der Arbeit, quasi ;-)

Ruebes Ansatz mit der zip-Datei ist nicht übel - nur dann ist die Sache gar so leicht zu durchschauen; ich weiß, aufbohren kann man letztlich alles, aber es muß ja nicht gleich auf den ersten Blick auffallen. Und eine einzelne Datei finde ich persönlich 'schöner' als einen Ordner voll mit Dateien - Geschmacksache. Trotzdem Danke - auch dafür  !

startrek - was soll ich nur sagen? Traumhaft! Gefällt mir bisher seeehr gut, auch wenn ich es nicht recht begreife. Hatte die Erfahrung auch mit einem einzelnen Bild. Warum (zum Henker!) funktioniert das? Ja, klar, eher Nebensache, bin aber trotzdem neugierig, was noch so kommt...

Daniels Version habe ich vorher schon nicht so recht auf die Reihe gekriegt; wäre für mich -selbst wenn es klappen sollte- eher als Notlösung anzusehen. Wieder mal Geschmackssache.

Für die anderen Beiträge stimme ich
1. Runkelruebe vollends zu
2. Bin ich zweitens verwirrt. Ich kriege irgendwie Angst, wenn ich sowas wie 'dll' lese - da lasse ich besser die Finger davon, solange ich keine Ahnung habe. Und solange der Code nur Strg + c und Strg + v für Bildchen ausführt, kann ich das bei meiner geringen Menge Bilder noch per Hand machen.

Bisheriges Fazit: Ihr seid toll - die Schatten lichten sich!

Herzlichste Grüße,
Frederik

[edit] Na toll - von wegen Häkchen weg bei der Signatur [/edit]

[Diese Nachricht wurde von Paulchen am 23. Feb. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 23. Feb. 2007 16:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo Frederik,

für in der Mappe gibt es verschiedene Möglichkeiten.

1. Als einfaches Bild in einer Tabelle (kann auch ausgeblendet sein). Dazu muss aber das Bild exportiert und über LoadPicture wieder geladen werden (alles vollautomatisch)

2. In einer Tabelle, aber in Imagecontrols. Das ist dann von Prizip das, was Nancy im Userform macht. Die Bilder kannst du manuell auch aus dem Clipboard in so ein Control einfügen. Diese Bilder müssen nicht exportiert werden, sondern können direkt zugewiesen werden.

3. Als einfaches Bild in der Tabelle wird über zwei Klassen und viel API (DLL's) in das Userform eingefügt. Ist aber sehr anspruchsvoll und für Anfänger nicht empfehlenswert.

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 27. Feb. 2007 11:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo nochmal,

erstmal ein dickes DANKE an Nepumuk und ruebe! Hatte mich länger nicht gemeldet - war aber nicht untätig ;-). Also, die Varianten 1 und 3 kommen für mich (noch) nicht in Frage - folglich wird's die zweite. To whom it may concern, hier mal mein Vorgehen:

1. Bild in die Mappe (in xls!) einfügen (in meinem Fall über Strg + v aus der Zwischenablage) und zurechtschneiden/ergänzen etc.
2. Steuerelement-Toolbox anzeigen lassen, Entwurfsmodus aktivieren
3. Image (Bild) aufziehen
4. Eigenschaften des Image anzeigen lassen
5. Eingefügtes und editiertes Bild markieren, Strg + c
6. in den Eigenschaften nach 'Picture' suchen - dort sollte (noch) "(Keine)" drinstehen - und Strg + v
7. Das Bildchen ist im Image drin; im Code würde das ganze dann zu

Code:
Image1.Picture = Worksheets("Tabelle1").Image1.Picture
-Achtung: Hier findet namentlich keine Unterscheidung zwischen dem Image in der Mappe (xls) und dem Image in der UserForm (VBA) statt, das kann verwirren!-

und die UserForm zeigt's korrekt an. Mit der direkten Bildzuweisung (über "Shapes") klappt's so nicht. Mein Image in der Mappe und mein Image in der Form haben die selbe Größe (Height und Width). Die UserForm zeigt's gestochen scharf an. Nun ließen sich noch die Images in der Mappe auf unsichtbar (Visible = False) schalten; das fällt bei mir weg, da ich die Stammdaten-Bank in der Mappe vorhalte (seperate Tabelle). Da ist es egal, ob sichtbar oder nicht :-))).

Einziges Manko - vielleicht kann das jemand bestätigen? - die Dateigröße wird (scheinbar) durch die Images in der Mappe aufgebläht.

------------------
Gruß,
Frederik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 27. Feb. 2007 12:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Paulchen:
Einziges Manko - vielleicht kann das jemand bestätigen? - die Dateigröße wird (scheinbar) durch die Images in der Mappe aufgebläht.
;-) nicht nur scheinbar - aber auch logisch ;-)
Wobei, so weit ich es in Erinnerung habe, es egal ist, ob du nun ein Bmp,gif,jpg einfügst - xl hat diesbezüglich sein eigenes komprimier Verfahren.
Aber, 10 mal das gleiche Shape zu verwenden, heisst nicht =Aufblähung um 10 mal kb des Shapes

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 27. Feb. 2007 12:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

 
Zitat:
;-) nicht nur scheinbar - aber auch logisch ;-)
  Hgrmbl... klar, wo mehr drin ist, ändert sich auch die Größe; und natürlich auch nicht zwingend linear. Ich meinte nur, daß das irgendwie unverhältnismäßig ist: Hatte die Bilder ja schon als 'normale' Grafiken in der Mappe, da war noch alles im unteren Hunderter-kb-Bereich; mit einigen Images sind's dann doch gleich 1,5 MB. Hat mich halt einfach ein wenig überrascht, daß sich diese Steuerelemente gar so deutlich auswirken, und wollte das nicht unerwähnt lassen  .

[thedit] Eigenes Komprimier-Verfahren: Ja, davon bin ich überzeugt. Und das ist vermutlich anders als in anderen Office-Anwendungen - so wie ich Bill & Co. einschätze . Schwamm drüber, ich will's lieber gar nicht so genau wissen.[/thedit]

------------------
Gruß,
Frederik

[Diese Nachricht wurde von Paulchen am 27. Feb. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 01. Mrz. 2007 08:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Nochmal kurz zur Dateigröße:

Ich habe den Images Unrecht getan. Es liegt an den 'ShapeRange' bzw. 'Shapes' meiner "Datenbank" (gesondertes Register), die ich für die Ausgabe benötige. Erst wurden alle Images (8 Stück) 'rausgeworfen - Dateigröße "unverändert"-, dann alle ShapeRange/Shapes (5 Stück, z.T. gruppiert, mit Textfeldern etc.). Und siehe da, das brachte die Mappe doch glatt von 2.64 MB (!!!) auf 461 kB. Hilft aber nix, da ich die Shapes ja brauche.

------------------
Gruß,
Frederik

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ThomBa
Mitglied


Sehen Sie sich das Profil von ThomBa an!   Senden Sie eine Private Message an ThomBa  Schreiben Sie einen Gästebucheintrag für ThomBa

Beiträge: 2
Registriert: 03.10.2007

erstellt am: 03. Okt. 2007 00:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo!

Kennt jemand von Euch eine Möglichkeit ein "PNG"-Bild in der Userform abzulegen? Es muß dort nicht sichtbar sein, soll aber als Quelle fungieren und später in der Mappe abgelegt werden können.

Vielen Dank,
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hajo_Zi
Mitglied
Projektant


Sehen Sie sich das Profil von Hajo_Zi an!   Senden Sie eine Private Message an Hajo_Zi  Schreiben Sie einen Gästebucheintrag für Hajo_Zi

Beiträge: 479
Registriert: 26.03.2003

AutoCad 2020 (ich arbeite in 2D)
Betriebssystem Windows 10

erstellt am: 03. Okt. 2007 10:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo Thomas,

den Teil wie Du das Bild aus der Userform in die Tabelle bekommst hast Du alsi schon?
Plaziere doch auf der Userform ein Steuerelment Anzeige und weise diesem das Bild zu. Das Stuerelment kannst Du ja visible =False machen.

Gruß Hajo

[Diese Nachricht wurde von Hajo_Zi am 03. Okt. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 03. Okt. 2007 12:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

willkommen auf CAD.de!

Zitat:
den Teil wie Du das Bild aus der Userform in die Tabelle bekommst hast Du alsi schon?
würde mich auch interessieren . Erzähl' doch mal, bitte?!

Gruß,
Frederik

------------------
DIN1055.de  |  Lastannahmen für Anwender

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ThomBa
Mitglied


Sehen Sie sich das Profil von ThomBa an!   Senden Sie eine Private Message an ThomBa  Schreiben Sie einen Gästebucheintrag für ThomBa

Beiträge: 2
Registriert: 03.10.2007

erstellt am: 04. Okt. 2007 09:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Hajo_Zi:
den Teil wie Du das Bild aus der Userform in die Tabelle bekommst hast Du alsi schon?
Plaziere doch auf der Userform ein Steuerelment Anzeige und weise diesem das Bild zu. Das Stuerelment kannst Du ja visible =False machen.

Hallo Hajo_Zi, hallo Paulchen.
Dem Transfer-Problem konnte ich mich noch nicht zuwenden, denn das Steuerelement Anzeige unterstützt das Bildformat "png" nicht. Jedes "png" wird in ein Bitmap oder "GIF" umgewandelt. Das Problem ist aber, dass meines Wissens nur "png" multiple Transparenz-Kanäle unterstützt (die ich dringend brauche).

Eine gangbare Alternative wäre vielleicht die Verwendung eines RichText-Feldes. Das Problem hierbei ist dann aber, dass dieses nicht zur Standard-Installation gehört.

Viele Grüße,
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hajo_Zi
Mitglied
Projektant


Sehen Sie sich das Profil von Hajo_Zi an!   Senden Sie eine Private Message an Hajo_Zi  Schreiben Sie einen Gästebucheintrag für Hajo_Zi

Beiträge: 479
Registriert: 26.03.2003

AutoCad 2020 (ich arbeite in 2D)
Betriebssystem Windows 10

erstellt am: 04. Okt. 2007 10:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Paulchen 10 Unities + Antwort hilfreich

Hallo Thomas,

ich hatte es nur getestet bis Bild zuweisen und im Dialog Stand alle Bilddateien. Das "PNG" Dateien für Excel keine Bilddateien sind war mir nicht bekannt.

Gruß Hajo

[Diese Nachricht wurde von Hajo_Zi am 04. Okt. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz