Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

area.CopyPicture.xlPrinter

area.CopyPicture.xlPrinter
18.02.2019 13:22:22
Josupei
Hallo,
ich erzeuge mir aus Excel mit VBA heraus Druckvorlagen (jpg) für Typenschilder.
Jetzt ist es so, dass beim abspeichern der Bilder ein dünner schwarzer Rand bei den Bildern zu erkennen ist.
Wie kann ich diesen Rand verhindern?
In Excel selbst gibt es bei Bildern die Möglichkeit in den Formatvorlagen ein Rechteck mit weichen Kanten zu wählen. Kann ich eine solche Funktion per VBA einbauen? Der Makrorekorder ist bei der Formatvorlage leider keine Hilfe.
Grüße
Josupei

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: area.CopyPicture.xlPrinter
18.02.2019 13:46:28
Werni
Hallo Josupei
ev. So? Das ist ohne Umrandung.
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Line.Visible = msoFalse

Gruss Werni
AW: area.CopyPicture.xlPrinter
18.02.2019 16:30:59
Josupei
Moin Werni,
leider kriege ich das nicht zum laufen.
Anbei mal mein Code:
https://www.herber.de/bbs/user/127733.xlsm
Bitte nicht lachen, bin grün hinter den Ohren und fummel mich da mit zusammenkopierten teilweise angepassten Codeschnipseln durch :-).
Ziel ist es, vorne 10 mal Werte für 10 Typenschilder eingeben zu können, diese sollen dann über eine Schleife als jpg im selben Ordner wie die Exceldatei abgelegt werden.
Es klappt so schon ganz gut, bis auf das Problem mit dem Rand, bei den abgelegten jpg und die Aktualisierung der Textboxen auf den aktuellen Variablen Wert.
Über Tipps und Hilfen wäre ich dankbar.
Beste Grüße
Josupei
Anzeige
AW: area.CopyPicture.xlPrinter
18.02.2019 18:45:58
Werni
Hallo
In Tabelle1   ->   Tastenkombikation Strg + G   ->  Inhalte  ->  Objekte wählen   ->  OK drü _
cken
Jetzt sind alle Textfelder markiert
Mit rechter Maustaste auf eines der Textfelder  ->  Objekte formatieren
Bei Füllung Keine Füllung wählen
Gruss Werni
AW: area.CopyPicture.xlPrinter
19.02.2019 08:47:53
Josupei
Moin Werni,
danke für die Antwort.
Ich glaube ich habe mich zu unpräzise ausgedrückt, der Rand von dem ich spreche, ist die äußere Kontour des erzeugten jpg. nicht die Ränder der einzelnen Textfelder.
Gruß
Josupei
AW: area.CopyPicture.xlPrinter
19.02.2019 22:03:32
Werni
Hallo Josupei
Wenn der kopierte Bereich (area.CopyPicture xlPrinter 'xlBitmap ') ins Blatt eingefügt wird (chartobj.Chart.Paste) hat ja noch keinen Rahmen. Aber sobald du diesen als *.png speicherst bekommt das Bild den Rahmen.
Bei einem Diagramm kann ich vor dem Bild erstellen den Rahmen wegnehmen, so dass auch das Bild keinen Rahmen hat.
Ich hab jetzt probiert dein Bild zu Drucken auf (A4) und den Drucker auf Randlos gestellt. Da ist es ohne Rahmen heraus gekommen.
Gruss Werni
Anzeige
AW: area.CopyPicture.xlPrinter
20.02.2019 11:23:46
Werni
Hallo Josupei
Es hat mir keine Ruhe gelassen. Da hab ich letzte Nacht mal den Vollmond gefragt.
Der kopierte Bereich wird ja in ein Diagramm eingefügt. Und diesem Diagramm lösche ich den Rahmen
Den anschliessenden CODE nach den Zeilen einfügen
area.CopyPicture xlPrinter  'xlBitmap '
Set chartobj = sheet.ChartObjects.Add(0, 0, area.Width * zoom_coef, area.Height * zoom_coef)
chartobj.Chart.Paste 
'******************************************************************************************
Dim objDia As ChartObject
For Each objDia In ActiveSheet.ChartObjects
ActiveSheet.ChartObjects(objDia.Name).Activate
ActiveSheet.Shapes(objDia.Name).Line.Visible = msoFalse
Next
'******************************************************************************************
Jetzt ist der Rahmen weg
Gruss Werni
Anzeige
AW: area.CopyPicture.xlPrinter
20.02.2019 11:50:31
Josupei
Werni,
du bist ein Schatz :-).
Vielen Lieben Dank für deine Mühe, deine aufgebrachte Zeit und die erstklassige Lösung!
Wenn ich dich nicht zu sehr strapaziert habe, möchte ich die zwischendrin eingeschobene Frage nochmal anbringen. In dem Schleifendurchlauf werden die Textfeld Variablen zwar richtig befüllt (habe ich in Überwachungsausdrücke gecheckt, aber ich bekomme es nicht hin, mit refresh oder repaint die Textfelder zu aktualisieren, so dass diese vor dem erzeugen des Bildes die aktuellen Variablen zugewiesen bekommen.
Ein höchst erfreuter Gruß
Josupei
AW: area.CopyPicture.xlPrinter
20.02.2019 12:48:13
Werni
Hallo Josupei
Du meinst so?
Deine Textfelder mit diesem CODE überschreiben
'Schreiben der Variablen in die Textfelder
Sheets("1").Activate
Tabelle1.Shapes.Range(Array("TextBox 14")).TextFrame2.TextRange.Characters.Text = Un
Tabelle1.Shapes.Range(Array("TextBox 15")).TextFrame2.TextRange.Characters.Text = f
Tabelle1.Shapes.Range(Array("TextBox 16")).TextFrame2.TextRange.Characters.Text = Ina
Tabelle1.Shapes.Range(Array("TextBox 17")).TextFrame2.TextRange.Characters.Text = IP
Tabelle1.Shapes.Range(Array("TextBox 20")).TextFrame2.TextRange.Characters.Text = RFD
Tabelle1.Shapes.Range(Array("TextBox 21")).TextFrame2.TextRange.Characters.Text = Icc
Tabelle1.Shapes.Range(Array("TextBox 22")).TextFrame2.TextRange.Characters.Text = Ipk
Tabelle1.Shapes.Range(Array("TextBox 23")).TextFrame2.TextRange.Characters.Text = Icw
Tabelle1.Shapes.Range(Array("TextBox 19")).TextFrame2.TextRange.Characters.Text = "SNr." &  _
Seriennummer
Gruss Werni
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige