Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Bild in Tabelle per Makro einfügen

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:   Bild in Tabelle per Makro einfügen (42595 mal gelesen)
de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 29. Jun. 2006 15:05    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,

wir möchten in eine Ecxel-Tabelle per Makro bzw. Button ein Bild in einer festgelegten Größe auf eine feste Position einfügen. Es soll in einem Auswahlfenster (wie bei Datei->Öffnen) das einzufügende Bild ausgewählt werden.
Unser jetztiger Weg ist dieser:
Wir haben in der Tabelle ein Rechteck, in dieses wird per Makro über Auto formatieren->Farben und Linien->Ausfüllen Farbe->Fülleffekte->Grafik. Das Problem ist, dass die Dateiposition und der Dateiname des Bildes im Makro festgelegt ist. Somit muss das einzufügende Bild z.B. unter C:/Bilder mit dem Dateinamen "1" vorhanden sein.
Hier das Makro:

Dim Antwort As String
    ActiveSheet.Shapes("Rectangle 1").Select
    Selection.ShapeRange.Fill.Transparency = 0#
    Selection.ShapeRange.Line.Weight = 0.75
    Selection.ShapeRange.Line.DashStyle = msoLineSolid
    Selection.ShapeRange.Line.Style = msoLineSingle
    Selection.ShapeRange.Line.Transparency = 0#
    Selection.ShapeRange.Line.Visible = msoTrue
    Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
    Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
    Selection.ShapeRange.Fill.Visible = msoTrue
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 255, 255)
    Selection.ShapeRange.Fill.BackColor.RGB = RGB(255, 255, 255)
    Selection.ShapeRange.Fill.UserPicture _
        "C:\Bilder\1.JPG"

------------------

de cadhund

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: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 29. Jun. 2006 17:11    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 de cadhund 10 Unities + Antwort hilfreich

Hallo de cadhund,
nur mal so als ganz grober Ansatz, hier wird das Bild einfach mitten in die Tabelle eingefügt, nicht in Dein Rechteck...(von den shapes-sachen hab ich noch nicht viel Ahnung, aber das wird)
Ich erwarte mit Spannung den "richtigen" Code der Experten

Code:

Public Sub BildOeffnen()
On Error Resume Next
Dim ObjektDLG As Dialog
ChDir "C:\"
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
    ObjektDLG.Show
    Tabelle1.Shapes.SelectAll  'Wenn mehr als 1 Bild in Deiner Tabelle ist, gibt's an dieser Stelle Schwierigkeiten
        With Selection          ' das hier ist alles anzupassen nach Bedarf
            .Top = 100
            .Left = 100
            .Width = 100
            .Height = 100
        End With
End Sub


Gruß,
Nicole

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

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

de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 30. Jun. 2006 07:21    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 Nicole,
danke für den Code. Genau so haben wir uns das vorgestellt    nur dass das Bild noch in den Rahmen muss. Wir werden heute noch ein bisschen herumprobieren und vielleicht klappt`s ja dann. 

------------------

de cadhund

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

de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 30. Jun. 2006 08: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

Hallo,
mit dem Code von Nicole haben wir jetzt eine anderen Weg gefunden (Bild wird nicht mehr in einem Rahem einfegügt sondern in eine Zelle).

Private Sub CommandButton2_Click()

Range("A25").Select

On Error Resume Next
Dim ObjektDLG As Dialog
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
    ObjektDLG.Show
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.ShapeRange.Height = 212.25
    Selection.ShapeRange.Width = 283.5
    Selection.ShapeRange.Rotation = 0#

End Sub

------------------

de cadhund

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2626
Registriert: 06.11.2000

erstellt am: 21. Jun. 2007 09: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 Nur für de cadhund 10 Unities + Antwort hilfreich

Hi,
das ist schon mal ein guter Ansatz.
Ich bräuchte es aber noch ein bischen anders:

Wie kann ich ein Bild in eine Zelle einfügen, von dem der Dateiname schon feststeht (z.B. in einer anderen Zelle), also ohne den Öffnen-Dialog?

Ciao
Klaus

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...

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: 8017
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 21. Jun. 2007 09:20    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 de cadhund 10 Unities + Antwort hilfreich

Hallo Klaus,
hatten wir schon mal: http://ww3.cad.de/foren/ubb/Forum226/HTML/000515.shtml#000000

Vielleicht hilft das schon bisserl weiter?

------------------
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: 21. Jun. 2007 09:24    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 de cadhund 10 Unities + Antwort hilfreich

Hallo Klaus,

Extras-Makro-Aufzeichnen?! Spuckt -auf die ganz schnelle und schmutzige Art- bei mir z.B. sowas aus:

Code:
ActiveSheet.Pictures.Insert("C:\Pfad\Logo.bmp").Select
Keine Ahnung, ob er das ".Select" am Ende unbedingt braucht. Da darfst Du selbst 'rumprobieren ;-)

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

DIN1055.de  |  Lastannahmen für Anwender

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2626
Registriert: 06.11.2000

erstellt am: 21. Jun. 2007 09: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 Nur für de cadhund 10 Unities + Antwort hilfreich

Hmmm..nä..das ist nicht so ganz meine Anwendung.

Ich habe eine Tabelle, die immer wieder erweitert bzw. ergänzt wird.
In dieser Tabelle gibt es eine Spalte, die in jeder Zeile eine selbstgebastelte Funktion "GetModelFilename(name)" enthält. Diese Funktion bastelt einfach aus den anderen Werten dieser Zeile den Dateinamen einer Bitmap zusammen, z.B. "micky maus.bmp"
Und nun hätte ich auch gerne in jeder Zeile ein Feld, das mir diese Bitmap auch anzeigt. Und zwar mit automatischer aktualisierung.
Also dachte ich auch hier an eine eigene Funktion "GetPicture(name)", der als "name" das Ergebnis von GetModelFilename() übergeben wird.
Bis jetzt bekomme ich aber kein Bild, sondern nur den Fehler #WERT.

Ciao
Klaus

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...

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: 339
Registriert: 16.10.2004

erstellt am: 21. Jun. 2007 15: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 de cadhund 10 Unities + Antwort hilfreich

Hallo Klaus,

Zitat:
Und zwar mit automatischer aktualisierung

wodurch ausgelöst? Änderung in der Tabelle (Dateiname oder Pfad) oder die Bitmap hat ein neueres Datum?

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

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2626
Registriert: 06.11.2000

** CSWP 01/2008 **
HP Z440, 16GB, Quadro K2200;
SWX2016 SP4;
SAP/PLM;
DriveWorks Pro;
Programmierung: VBA, aktuell VB.NET 2017

erstellt am: 21. Jun. 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 de cadhund 10 Unities + Antwort hilfreich

Ausgelöst durch Änderung der Tabelle, entweder des Feldes mit dem Bitmap-Namen oder neuberechnung der Zelle mit der GetBitmap-Funktion. noch automatischer brauch ichs gar nicht 

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...

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: 339
Registriert: 16.10.2004

erstellt am: 21. Jun. 2007 18: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 de cadhund 10 Unities + Antwort hilfreich


Bild_per_Formel.zip.txt

 
Hallo Klaus,

ich hab dir mal eine Beispielmappe gemacht.

Eigentlich ist es nämich nicht möglich per Formel eine Datei zu öffnen. Kann also manchmal etwas unerwartetes passieren.

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

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2626
Registriert: 06.11.2000

** CSWP 01/2008 **
HP Z440, 16GB, Quadro K2200;
SWX2016 SP4;
SAP/PLM;
DriveWorks Pro;
Programmierung: VBA, aktuell VB.NET 2017

erstellt am: 22. Jun. 2007 08: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 Nur für de cadhund 10 Unities + Antwort hilfreich

boah!
Herzlichen Dank, das ist ja voll cool. Ich kann zwar nicht behaupten, dass ich das Makro verstehe, aber zum Anwenden reichts 

 
Ciao
Klaus

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat...

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

eurooli
Mitglied
Druckvorstufen-Profi

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

Beiträge: 1
Registriert: 25.07.2007

erstellt am: 25. Jul. 2007 17:26    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 de cadhund 10 Unities + Antwort hilfreich

Hallo, da bin ich jetzt baff, was da so mit Excel alles geht, schaue mich gerade so um weil ich ein Problem zu lösen habe, das diesem ähnlich ist.
Ich habe eine Mappe, in der Art.Nr., Bezeichnung und Bildverweis ist.
Hier sollte ich eine Spalte haben, die mir entweder rot oder grün anzeigt, ob das Bild im Bildverweis vorhanden ist oder nicht (auf der Platte).
Ist so was zu machen, also ich brauche keine Bilder in der Excel-Tabelle, sondern nur sozusagen ein Hinweis, ob das Bild auf der Platte vorhanden ist.

Grüße Oliver Fischer

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: 25. Jul. 2007 18:03    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 de cadhund 10 Unities + Antwort hilfreich

Hallo Oliver und willkommen bei CAD.de! Schnell, schmutzig und ausbaufähig zum Feierabend:
Code:
Sub DateiDa()

With Application.FileSearch
    .NewSearch
    .LookIn = "C:\DeinPfad"
    .SearchSubFolders = False
    .Filename = "*.xls"
    .MatchTextExactly = True
    .FileType = msoFileTypeAllFiles
   
    If .Execute() > 0 Then
        ActiveCell.Interior.ColorIndex = 4
    Else: ActiveCell.Interior.ColorIndex = 3
    End If

End With

End Sub


Ich weiß nicht, wie es um Deine VBA-Kenntnisse steht - vielleicht hilft's ja schon?

Frederik

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

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: 2896
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 25. Jul. 2007 18:04    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 de cadhund 10 Unities + Antwort hilfreich


KopievonBild_per_Formel.xls.txt

 
auf die Schnelle, unter Verwendung von Nepumuks Mappe:

da in Spalte C =GetPicture(B1;ZEILE();SPALTE()) drinnen gehen wir zu dieser Funktion
deaktiviern strPath = Pfad in strPath in ""
und fügen GetPicture = "Bild vorhanden" hinzu, damit in Spalt C ein Text steht, wenn Bild vorhanden.

geänderter

Code:
Public Function GetPicture(Pfad As String, Zeile As Long, Spalte As Long) As String
    Set objTarget = Cells(Zeile, Spalte).Offset( _
        RowOffset:=ROW_OFFSET, ColumnOffset:=COLUMN_OFFSET)
    If Dir$(Pfad) <> "" Then
        GetPicture = "Bild vorhanden" ' REM zeile hinzu
        strPath = ""                    REM >""< Austauschen gegen die Variable >Pfad< wenn Bild gezeigt werden soll ''Zeile geändert
        Call prcStartTimer
    Else
        Call prcStartTimer
        strPath = ""
        GetPicture = "kein Bild"
    End If
End Function

Anschiessend Bedingte Formatierung auf Spalte C
Wenn Zellwert ="Bild vorhanden" dann Hintergrund Farbe Grün
else
Wenn Zellwert ="kein Bild" dann Hintergrund Farbe Rot

- ohne jetzt gross was am Code zu ändern ;-)

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

Maddin21
Mitglied


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

Beiträge: 3
Registriert: 25.09.2008

erstellt am: 25. Sep. 2008 16: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 de cadhund 10 Unities + Antwort hilfreich

Hallo,

ich habe das ganze so genutzt wie von Nepumuk gepostet. Danke schonmal dafür!

Ich habe nun das Problem, dass der Pfad zu den Dateien bei versch. Benutzern unterschiedlich ist.

Bei den Hyperlinks im Dokument habe ich das ganze so gelöst, dass er bei foto 3 von artikel 555 z.b. so aussieht: /Fotos/Foto555-03.jpg

bei klicken des Links springt er ja direkt in den Ordner und sucht das Bild und öffnet es. Die Bilder-Links werden je nach Artikelnummer neu generiert (per Verketten-Formel)


Wie kann ich das ganze in dem Code von Nepumuk abändern, dass er die Bilder eben auch in dem Unterordner sucht und ich nicht den ganzen Pfad verarbeiten lassen muss.

Z.b. ich wähle Artikel 334 und er such das Bild eben direkt im Unterordner. und nich in C:\........\Fotos\

Vielen Dank schonmal.

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

Maddin21
Mitglied


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

Beiträge: 3
Registriert: 25.09.2008

erstellt am: 25. Sep. 2008 19:40    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 de cadhund 10 Unities + Antwort hilfreich

http://ww3.cad.de/foren/ubb/Forum226/HTML/000961.shtml 

würde es damit klappen?


Code:

Workbooks.Open Filename:=CurDir() & "\" & "ansprechdatei.xls" 

Und wie und wo würde ich das einbauen müssen um den CurDir-Pfad mit dem übergebenen Pfad zu verketten?

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: 2896
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 25. Sep. 2008 20:23    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 de cadhund 10 Unities + Antwort hilfreich


hc_080.png

 
  
Zitat:
Original erstellt von Maddin21:
...nun das Problem, dass der Pfad zu den Dateien bei versch. Benutzern unterschiedlich ist..

Bei den Hyperlinks im Dokument habe ich das ganze so gelöst, dass er bei foto 3 von artikel 555 z.b. so aussieht: /Fotos/Foto555-03.jpg

bei klicken des Links springt er ja direkt in den Ordner und sucht das Bild und öffnet es. Die Bilder-Links werden je nach Artikelnummer neu generiert (per Verketten-Formel)

Wie kann ich das ganze in dem Code von Nepumuk abändern, dass er die Bilder eben auch in dem Unterordner sucht und ich nicht den ganzen Pfad verarbeiten lassen muss.

Z.b. ich wähle Artikel 334 und er such das Bild eben direkt im Unterordner. und nich in C:\........\Fotos\

Vielen Dank schonmal.


hmm, hmm,
man kann sicher den Code abändern ;-) aber Warum?, wenn es auch mit Bordmitteln gehen würde?

...lasse dir von XL erzählen, wo XL den Speicherort der Mappe versteckt:

Code:
=ZELLE("Dateiname";$A$1)
, die Mappe scheint ja immer im Root vor \Fotos\ zu sein

Das Anpassen der Spalte B mittels der Funktion =VERKETTEN()
und ein wenig LINKS, zwo drei vier, in den ZELLEn, FINDE ich,
sollte dann auch kein Problem sein darstellen.

In Spalte A steht nur BILDXY.irgendeingrafikformat und
in Spalte B hoffendlich sauber verkettet >Irgendeinlaufwerk:\Speicherort der XL Datei\Fotos\BILDXY.irgendeingrafikformat <

;-) Ne, eine Mappe uppe ich jetzt nicht, das wäre zu einfach 

...aber wie dem Bild zu entnehmen ist, liegt sie schon auf dem Laufwerk, wenn auch nachträglich gezippt
...für unsere Rätselfreunde ,-)

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

Maddin21
Mitglied


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

Beiträge: 3
Registriert: 25.09.2008

erstellt am: 25. Sep. 2008 20:49    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 de cadhund 10 Unities + Antwort hilfreich

Ich hab den Beitrag jetzt 4x gelesen... jedesmal stand es ein wenig anders da... entweder du editiert oder ich sollte ins Bett 

Danke erstmal... wie verkürze ich denn beim verketten befehl? SOnst müsste ich jetzt wieder suchen 

[THEDIT]da wirst du nicht ganz unrecht haben, ich habe hier und da ein wenig umformuliert,
ein Bild geuppt und was versteckt, - auch wenn ich nicht immer gleich die Lösung poste - so sollte mit ein wenig Uberlegung des Bildes auch die Datei zu finden sein   
viel Spass beim Suchen - ich mache jetzt Feierabend, schau aber später nochmal rein

PS: ich habe so verkettet =hokuspokus&A1 ;-)[THEDITOFF]

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: 26. Sep. 2008 16:40    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 de cadhund 10 Unities + Antwort hilfreich

Hallo Maddin21,

willkommen auf dem Excel-Brett!

Für Dein Problem gibt es zwei Lösungsansätze mit dem gleichen Ziel: Speicherort der (aktuellen) Datei ermitteln. Das geht per VBA via ThisWorkbook.Path; außerdem ist der Pfad in ThisWorkbook.Fullname enthalten.

Oder - wie Thomas es sehr schön aufzeigt - auch per Formel. Mein Tipp hierzu: Drücke in Excel die Taste F1 (Excel-Hilfe). Im Suchfenster gibst Du "Name" (ohne die Gänsefüßchen) ein.

Zitat:
SOnst müsste ich jetzt wieder suchen
Tja... schließlich willst Du ja auch 'ne Lösung .

Gruß
Frederik

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

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

Sunnysmiler
Mitglied
arbeitssuchend

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

Beiträge: 1
Registriert: 27.02.2013

erstellt am: 27. Feb. 2013 22: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 Nur für de cadhund 10 Unities + Antwort hilfreich

Guten Tag!
Folgendes Problem in Excel würde ich gerne lösen, weiß jedoch nicht, wie das gehen soll:
Ich möchte per Makro ein neues Objekt in einer Userform einfügen, welches nach Speicherung
der Datei auf Dauer in dieser Userform vorhanden sein soll. Hierbei soll es sich um eine
"image" handeln, auf das ein Bild hochgeladen wird. Meine bisherigen Funde im Netz kreieren
ein neues Objekt, welches jedoch wieder fehlt, wenn man speichert und dann neu startet.

Gibt es einen Code, der nach Aufruf des Makros ein Objekt mit dem ich ein Bild zeigen kann
auf Dauer in der Userform einbindet, sodaß es beim nächsten Programmstart mit dem vorher
für dieses Object hochgeladenen Bild wieder vorhanden ist?  

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

Shor-ty
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 2220
Registriert: 27.08.2010

OpenFOAM-dev (Foundation)

erstellt am: 14. Mai. 2013 16:31    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 de cadhund 10 Unities + Antwort hilfreich

Hallo zusammen,

das erste mal das ich im EXCEL Brett bin  

Erstmal will ich den Mods und Mitgliedern dieses Brettes danken für die reichlichen Informationen bzgl. VBA. Ich bin selber Mod im CFD Forum und arbeite eig. eher im C++ Bereich. Nichts desto trotz will ich jetzt in der Arbeit einige Veränderungen im Bereich der Protokollerstellung tätigen (Mal ehrlich 40 Bilder einfügen und bearbeiten - Zuschneiden, Rahmen bla blub ist keine wirkliche Aufgabe für einen Ingenieur).

Entsprechend habe ich gestern bereits das Einfügen von Bildern und deren Eigenschaftsänderungen + Positionierung mit diesem Thread umsetzen können.

Jetzt habe ich allerdings nur ein kleines Problem!


Folgendes möchte ich machen (sehr simple).

Code:

1. Einfügen eines Bildes vom Zwischenspeicher über ein Makro
2. Bearbeiten DIESES Bildes (Zuschneiden etc.)
3. Positionierung

Alle drei Dinge funktionieren auch, nur hab ich ein Problem: Die Auswahl des Bildes.

Mein derzeitiger Code:

Code:

Sub Makro3()
'
' Makro3 Makro
'

'
    ActiveSheet.Paste
    ActiveSheet.Shapes.Range(Array("Picture24")).Select
    Selection.ShapeRange.Line.Style = msoLineThickThin
    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .Weight = 1.5
    End With
    .
    .
    .
End Sub


Problem an der Sache ist - wie ihr sicher schon seht - das ich beim Anwenden des Makros immer nur die Bearbeitungsschritte auf Bild #24 erhalte. Ich möchte aber hier das gerade eingefügte Bild auswählen.

Da ich überhaupt keine VBA Kenntnisse bzgl. Funktionen habe, weiß ich auch nicht was ich hier ändern könnte. Hab diverse Dinge schon getestet aber bislang noch vergebens.


Es wäre schön wenn jemand von diesem Brett eine bereichernde Antwort für mich hätte  

Grüße Tobi

------------------
Grüße Tobias Holzmann

[Diese Nachricht wurde von Shor-ty am 14. Mai. 2013 editiert.]

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

Shor-ty
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 2220
Registriert: 27.08.2010

erstellt am: 14. Mai. 2013 16: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 de cadhund 10 Unities + Antwort hilfreich

Und schon gelöst 

Hab das Bild jetzt in ne Zelle eingefügt und diese dann wieder "selektiert" 

Oft ist die Lösung so einfach.

Danke trotzdem fürs durchlesen und verzeiht mir, dass der Thread wieder ganz oben steht

Ich denke bis bald 

Tobi

------------------
Grüße Tobias Holzmann

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

Beverly
Mitglied
Dipl.-Geologe (Rentner)


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

Beiträge: 384
Registriert: 11.08.2007

erstellt am: 15. Mai. 2013 10: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 de cadhund 10 Unities + Antwort hilfreich

Hi Tobi,

jedes in ein Tabellenblatt eingefügte Shape erhält einen (fortlaufenden) Index, über den man es anstelle seines Namen ansprechen kann. Das neu eingefügte Bild hat immer - logischerweise - den höchsten Index, sodass man nur die Anzahl zählen muss um den Index des zuletzt eingefügten Shapes zu erhalten:

Code:
    ActiveSheet.Paste
    With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
      With .Line
        .Style = msoLineThickThin
        .Visible = msoTrue
        .Weight = 1.5
      End With
  End With

Übrigens: auf die ganze Selektiererei kann man in 99% aller Fälle in VBA verzichten  .

------------------
Bis später,
Karin

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

enjoy123
Mitglied
Projektmanager

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

Beiträge: 1
Registriert: 22.11.2013

erstellt am: 22. Nov. 2013 21: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 de cadhund 10 Unities + Antwort hilfreich


9891713-10000.jpg


9891713-10001.jpg

 

Hallo zusammen
ich benötige eure Hilfe bei der Lösung folg. Aufgabenstellung.
Ich habe eine Exceldatei mit ca. 1000 Produkten zu denen ich die Bilder, die unter der Artikelnummer in einem best. Laufwerk abgespeichert sind, automatisch hinzufügen möchte. Da ich mich nicht mit Makros auskenne, kann ich die Lösungswege, die auf dieser Seite dargestellt sind, leider nicht nachvollziehen. Wer kann mir helfen? Kann mir jemand ein fertiges Makro zur Verfügung stellen?
Grüße Myriam

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

feldo
Mitglied
Gastronom

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

Beiträge: 2
Registriert: 10.04.2015

erstellt am: 10. Apr. 2015 16:05    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 de cadhund 10 Unities + Antwort hilfreich

Hallo Zusammen

Der Beitrag ist doch schon älter aber bespricht genau das was ich suche.
anstatt
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)

möchte ich einen bestimmten Ordner anwählen und daraus die Bilder selektieren.

Wie lautet der Code damit ich das tun kann?

Besten Dank im Voraus

Gruss Robert
Windows 7

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: 339
Registriert: 16.10.2004

erstellt am: 10. Apr. 2015 19:50    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 de cadhund 10 Unities + Antwort hilfreich

Hallo,

vergiss diese Uraltdialoge.

Code:
Public Sub Test()
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        With .Filters
            If .Count Then .Delete
            .Add "Bilder", "*.jpg,*.gif,*.bmp"
        End With
        .InitialFileName = "G:\Eigene Dateien\Eigene Bilder\Foto\Wasserburg"
        If .Show Then
            ActiveSheet.Shapes.AddPicture .SelectedItems(1), msoFalse, _
                msoTrue, Cells(3, 3).Left, Cells(3, 3).Top, -1, -1
        End If
    End With
End Sub

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

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

feldo
Mitglied
Gastronom

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

Beiträge: 2
Registriert: 10.04.2015

erstellt am: 11. Apr. 2015 08: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 de cadhund 10 Unities + Antwort hilfreich

Guten Morgen Nepumuk

Simply great. Besten Dank, genau was ich gesucht habe.

Grüsse Robert

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)2020 CAD.de | Impressum | Datenschutz