Dateiname der importierten Grafik auslesen
#1
Ich möchte gerne in Corel VBA, nachdem ich ein JPG per Drag&Drop auf das Dokument importiert habe, den Dateinamen des Bildes auslesen.
Dieser soll dann erstmal als Text irgendwo abgelegt werden.

Im VBA Object Model finde ich leider keine Methode oder Eigenschaft dazu.

Lasse ich einen Makro-Rekorder beim reinziehen des Bildes laufen, wird folgender Code erzeugt:

Code:
Sub bildimport()
    ' Recorded 01.07.2011
    ' Recording of this command is not supported
    Dim impopt As StructImportOptions
    Set impopt = CreateStructImportOptions
    impopt.Mode = cdrImportFull
    Dim impflt As ImportFilter
    Set impflt = ActiveLayer.ImportEx("\\Servername\Dateiname.jpg", cdrJPEG, impopt)
    impflt.Finish
    Dim s1 As Shape
    Set s1 = ActiveShape
End Sub

Ist es mir irgendwie möglich, aus diesem Objekt den Dateinamen auszulesen?

Ausserdem müsste ich ja auch auf ein Event reagieren. Gibt es eine Art "onImport"-Event? Oder muss ich auf jedes MouseUp-Event reagieren und prüfen, ob ein Import stattgefunden hat?

Alternativ könnte man ja auch, nachdem man ein Bild importiert hat, darauf klicken, und dann auf eine Makro-Schaltfläche, die den Dateinamen ausliest. Dazu müsste dieser aber vorher ja während des Imports irgendwo gespeichert sein.

vielen Dank im Voraus.
Zitieren
#2
Hallo Hamu,
Welche Version der CorelDRAW Graphics Suite hast Du?

Genau so schnell wie über ein Makro, habe ich über den Objektmanager den Namen eines Bitmaps (Rechtsklick mit der Maus + kopieren) ausgelesen und in das Dokument eingefügt.

Freundliche Grüße vom Unkraut

[Bild: 7547212ywb.png]

Betriebssystem / Grafik-Software: Win 7
Zitieren
#3
Hallo Unkraut

Ich habe X4.

Ich möchte den Dateinamen ja nicht manuell auslesen, es geht mir auch nicht um die Geschwindigkeit.
Es geht mir eher um die Menge und darum, dass es automatisch geht.

Wenn du jeden Tag dutzende Bilder in Deine Dokument ziehst willst du nicht immer noch manuell den Dateinamen irgendwo notieren.
Ein Mitarbeiter, der später mit diesem Dokument arbeitet, muss aber wissen, wo dieses Bild abgespeichert war.
Also brauche ich eine automatische Lösung.

Sobald ein Bild ins Dokument gezogen wird, soll der Dateiname irgendwo gespeichert werden. Am besten im Objektdatenmanager.

Übrigens, wenn ich ein JPG in das Dokument ziehe, dann erscheint bei mir im Objektmanager nicht der Name des JGP sondern es steht dort nur "Bitmap".

Wie kann ich es einstellen, damit wie bei Deinem Beispiel, der Dateiname dort hinterlegt wird? Das würde mein Problem ja schon lösen.

EDIT:
Hab gerade herausgefunden, dass wenn man ein Bild mit der Menüoption DATEI->IMPORTIEREN... importiert, der Dateiname angezeigt wird.
Leider klappt das nicht, wenn man eine Grafik einfach in das Dokument zieht.. Sad

Hat jemand da eine Idee?
Zitieren
#4
Hallo Hamu,
schaust Du bitte mal hier:
http://woxxom.vbabyexample.com/

Es werden 2 Makos für Deinen Zweck angeboten
"Recentfiles" (lief bei mir nicht, was aber nix heißt) und weiter unten bei Bitmaps
"Import bitmap autotagger"

Viel Erfolg wünscht das Unkraut

Betriebssystem / Grafik-Software: Win 7
Zitieren
#5
Hey Unkraut

Danke, das 2. hab ich mir mal installiert und es funktioniert.
Leider startet das Makro aber nicht automatisch bei Programmstart. Und man muss halt genau auf dieses Fenster ziehen.
Ich werde mir das andere auch mal anschauen. zur Not muss ich das erste umprogrammieren.

Herzlichen Dank, hast mir wirklich geholfen Smile
Zitieren
#6
Morgen !!!

Ich hoffe das ich hier im Forum eine Antwort bekomme da es zum Thema Corel VBA fast nix zu finden gibt.

Ich habe eine Vorlege erstellt aus der ich per VBA den TEXT aus der Ebene Dateiname kopieren möchte und beim "Als PDF Freigeben zum Speicherort eintragen.

Ich habe vom Makrorecorder nur Folgenden Aufzeichnung.

Sub Macro4()
' Recorded 07.11.2014
ActiveLayer.Shapes.All.CreateSelection
ActiveSelection.Copy
With ActiveDocument.PDFSettings
.PublishRange = 0 ' CdrPDFVBA.pdfWholeDocument
.PageRange = ""
.Author = ""
.Subject = ""
.Keywords = ""
.BitmapCompression = 2 ' CdrPDFVBA.pdfJPEG
.JPEGQualityFactor = 10
.TextAsCurves = False
.EmbedFonts = True
.EmbedBaseFonts = True
.TrueTypeToType1 = True
.SubsetFonts = True
.SubsetPct = 80
.CompressText = True
.Encoding = 1 ' CdrPDFVBA.pdfBinary
.DownsampleColor = True
.DownsampleGray = True
.DownsampleMono = True
.ColorResolution = 200
.MonoResolution = 600
.GrayResolution = 200
.Hyperlinks = True
.Bookmarks = True
.Thumbnails = False
.Startup = 0 ' CdrPDFVBA.pdfPageOnly
.ComplexFillsAsBitmaps = False
.Overprints = True
.Halftones = False
.MaintainOPILinks = False
.FountainSteps = 256
.EPSAs = 0 ' CdrPDFVBA.pdfPostscript
.pdfVersion = 6 ' CdrPDFVBA.pdfVersion15
.IncludeBleed = False
.Bleed = 31750
.Linearize = False
.CropMarks = False
.RegistrationMarks = False
.DensitometerScales = False
.FileInformation = False
.ColorMode = 3 ' CdrPDFVBA.pdfNative
.UseColorProfile = True
.ColorProfile = 1 ' CdrPDFVBA.pdfSeparationProfile
.EmbedFilename = ""
.EmbedFile = False
.JP2QualityFactor = 10
.TextExportMode = 0 ' CdrPDFVBA.pdfTextAsUnicode
.PrintPermissions = 0 ' CdrPDFVBA.pdfPrintPermissionNone
.EditPermissions = 0 ' CdrPDFVBA.pdfEditPermissionNone
.ContentCopyingAllowed = False
.OpenPassword = ""
.PermissionPassword = ""
.EncryptType = 0 ' CdrPDFVBA.pdfEncryptTypeNone
.OutputSpotColorsAs = 0 ' CdrPDFVBA.pdfSpotAsSpot
.OverprintBlackLimit = 95
End With
ActiveDocument.PublishToPDF "C:\XXXXXX\tmp\Sepasdfafgaf.pdf"
End Sub

Ich würde also gerne den Grafiktext in Eine Variable geben und ihn zum Speicherort dazu geben.

Ich wäre um Hilfe sehr dankbar.
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Grafik beim Export für das Web unscharf AndreasMi 1 398 17.06.2023, 12:02
Letzter Beitrag: koter
  Grafik per Makro Exportieren Chrisbeee 10 1.235 10.02.2023, 00:54
Letzter Beitrag: Chrisbeee
  Warum macht Corel Trace_9 Linien um die Grafik?? diddytil 5 1.272 29.05.2018, 20:03
Letzter Beitrag: norre
  1 von 3 Druckern "vergisst" Teile einer Grafik mc_oyzo 3 1.422 07.01.2018, 22:15
Letzter Beitrag: mc_oyzo
  Buchstabenbreite auslesen [VBA] JP_dev 8 1.516 08.09.2017, 07:22
Letzter Beitrag: JP_dev
  JPG bringt Grafik Suite 2017 zum Absturz Baumal 2 983 24.07.2017, 14:58
Letzter Beitrag: Baumal
  Barcode 128 in Grafik umwandeln nowa 16 4.377 21.12.2016, 18:41
Letzter Beitrag: nowa
  Corel X8 Problem bei importierten Bildern TottiSB 2 1.248 09.04.2016, 11:52
Letzter Beitrag: TottiSB
  Füllung aus einer Grafik entfernen grimereaper 6 1.958 12.02.2016, 10:06
Letzter Beitrag: Hartmut
  Grafik in Mail integrieren oekochance 25 3.710 20.01.2016, 09:20
Letzter Beitrag: Suc