Topic
EMF Export über VBA
Startseite ' Community ' Automation and VBA ' EMF Export über VBA
- Dieses Thema hat 3 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 17 Jahren, 2 Monaten von Stefan Palaveev aktualisiert.
-
AutorBeiträge
-
07.03.2008 um 04:21 Uhr #34831Stefan PalaveevTeilnehmer
Hallo,
ich habe eine kleine Prozedur geschrieben, die Bilder im EMF Format exportieren soll.
Sub Export()
Dim Anzahl_Folder As Integer
Dim File_Name As StringAnzahl_Folder = ActiveDatabase.RootFolder.Objects(“.*.FLD”).Count – 1
For i = 1 To Anzahl_Folder Step 2
If i < 10 Then File_Name = "Bild_00" & i If i < 100 And i >= 10 Then File_Name = “Bild_0” & i
If i >= 100 And i < 1000 Then File_Name = "Bild_" & i If i >= 1000 Then MsgBox (“Anzahl Bilder zu groß”)ActiveDatabase.Object(“AuswertungMessung_Nummer”).Open = True
ActiveDatabase.ActiveObject.Selection.ActiveValue = i
ActiveDatabase.Object(“AuswertungExport_Document.DOC”).Open = True
Application.UpdateAllActiveDatabase.ActiveObject.Selection.Export fpExportFormatEMF, _
“D:DataExport” & File_Name & “.emf”Next i
ActiveDatabase.Object(“AuswertungMessung_Nummer”).Open = False
End Sub
Die “Messung_Nummer” ist ein Datensatz aus einer Ganzzahl auf den eine Formel zugreift, die die Werte für das Diagramm aufbereitet.
An sich läuft die Prozedur auch ganz gut, nur bestehen die Bilder aus weißer Farbe und sonst nichts. Die Prozedur funktioniert auch nur mit EMF und WMF nicht. PNGs und JPEG werden ausgegeben wie gewünscht.
Exportiere ich die Bilder manuel als EMF über Rechtsklick auf das Dokument->Exporteren->Speichern, dann ist das Problem auch nicht mehr da. Ist das Problem bekannt und können Sie mir dabei helfen?Danke
07.03.2008 um 04:21 Uhr #34834Stefan PalaveevTeilnehmerHallo,
ich habe eine kleine Prozedur geschrieben, die Bilder im EMF Format exportieren soll.
Sub Export()
Dim Anzahl_Folder As Integer
Dim File_Name As StringAnzahl_Folder = ActiveDatabase.RootFolder.Objects(“.*.FLD”).Count – 1
For i = 1 To Anzahl_Folder Step 2
If i < 10 Then File_Name = "Bild_00" & i
If i = 10 Then File_Name = “Bild_0” & i
If i >= 100 And i = 1000 Then MsgBox (“Anzahl Bilder zu groß”)ActiveDatabase.Object(“AuswertungMessung_Nummer”).Open = True
ActiveDatabase.ActiveObject.Selection.ActiveValue = i
ActiveDatabase.Object(“AuswertungExport_Document.DOC”).Open = True
Application.UpdateAllActiveDatabase.ActiveObject.Selection.Export fpExportFormatEMF, _
“D:DataExport” & File_Name & “.emf”Next i
ActiveDatabase.Object(“AuswertungMessung_Nummer”).Open = False
End Sub
Die “Messung_Nummer” ist ein Datensatz aus einer Ganzzahl auf den eine Formel zugreift, die die Werte für das Diagramm aufbereitet.
An sich läuft die Prozedur auch ganz gut, nur bestehen die Bilder aus weißer Farbe und sonst nichts. Die Prozedur funktioniert auch nur mit EMF und WMF nicht. PNGs und JPEG werden ausgegeben wie gewünscht.
Exportiere ich die Bilder manuel als EMF über Rechtsklick auf das Dokument->Exporteren->Speichern, dann ist das Problem auch nicht mehr da. Ist das Problem bekannt und können Sie mir dabei helfen?Danke
07.03.2008 um 21:04 Uhr #34832Bernhard KantzTeilnehmerSorry, but we cannot reproduce your problem.
Perhaps you have selected the wrong object. You should not use the [b]Selection[/b]-method. Use the [b]Object[/b]-method to get the diagram object and export this object.
Example:
[code]
Dim oDiagram As Diagram2D
Set oDiagram = ActiveDatabase.RootFolder.Object(“2D-Diagram”, fpObjectType2DDiagram)
oDiagram.Export fpExportFormatEMF, “c:tempDiagram.emf”
[/code]11.03.2008 um 00:59 Uhr #34833Stefan PalaveevTeilnehmerVielen Dank für Ihre Hilfe.
In meinem Fall handelt es sich um ein einseitiges Dokument und die Default SeitenNr. war seltsamerweise auf -1 gesetzt. Durch manuelle Eingabe der SeitenNr. wurde das Problem gelöst. Der richtige Code lautet dann:
Sub ExportEMF()
Dim oDocument As Document
Set oDocument = ActiveDatabase.RootFolder.Object(“TestDocument.DOC”, fpObjectTypeDocument)
oDocument.Export fpExportFormatEMF, “c:tempDiagram.emf”,,1
End Sub -
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.