Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
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

VBA läuft nur ohne Dockingstation richtig

VBA läuft nur ohne Dockingstation richtig
25.10.2017 08:18:56
ZD14
Hallo liebes Forum,
Ich habe bei meinem Code etwas sehr sehr sehr sehr seltsames entdeckt und weiß nicht mehr weiter!
Ich habe ein VBA-Modul geschrieben, welches benannte Bereiche aus Excel in eine PowerPoint-Präsentation einfügt. Das habe ich nun einem Kollege in Amerika geschickt. Beim Testlauf ist folgendes passiert:
- hier (am europäischen Standort) funktioniert alles reibungslos bei 7 verschiedenen PCs auf mehreren Office-Versionen etc.
- in Amerika funktioniert der Code nur richtig, wenn der Laptop nicht mit der Dockingstation verbunden ist! Es kommt keine Fehlermeldung. Der Unterschied ist, dass mit Dockingstation die Bereiche zugeschnitten werden (d.h. es ist nicht mehr alles sichtbar). Ohne Dockingstation wird der gesamte Bereich kopiert und richtig eingefügt!
Ich blick wirklich nicht durch! Wie kann die Dockingstation meinen Code beeinflussen? :O Vor allem, da das hier keinen Unterschied macht!
Bin dankbar für jede Hilfe. :)
Der betroffene Code-Abschnitt (ich könnte mir nicht erklären, wo der Fehler sonst liegen soll)

'oPPT = Powerpoint Presentation
'sng = Single --> Werte geben Position des Bildes an
For int_j = int_x To 5 'increase to add more ranges
'Copy ranges
'insert in powerpoint
'set position in the slide's centre (except int_j = 1 --> Financial Assumptions)
DoEvents
'Set range and position
If int_j = 1 Then
ActiveWorkbook.Sheets("PM-DB").Range("rng_Sheeta-2").Copy
sng_Left = 19.8425
sng_Height = 260.7874
End If
If int_j = 2 Then
ActiveWorkbook.Sheets("PM-DB").Range("rng_Sheeta-1").Copy
sng_Left = 34.86614
sng_Height = 311.811
End If
If int_j = 3 Then
ActiveWorkbook.Sheets("PBU").Range("rng_Sheetb-1").Copy
sng_Left = 142.8661
sng_Height = 311.811
End If
bln_grouped = Grouped
If int_j = 4 Then
ActiveWorkbook.Sheets("Sheetc").Outline.ShowLevels ColumnLevels:=1
sng_Left = 87.874
sng_Height = 311.811
ActiveWorkbook.Sheets("Sheetc").Range("rng_Sheetc-1").Copy
End If
If int_j = 5 Then
ActiveWorkbook.Sheets("Sheetc").Outline.ShowLevels ColumnLevels:=1
sng_Left = 30.04724
sng_Height = 311.811
ActiveWorkbook.Sheets("Sheetc").Range("rng_Sheetc-2").Copy
End If
oPPT.ActivePresentation.Slides(int_j).Select
'insert range as bitmap
int_i = oPPT.ActivePresentation.Slides(int_j).Shapes.Count 'shape count on slides -->  _
prevents deleting the title
If int_i > 1 Then
oPPT.ActivePresentation.Slides(int_j).Shapes.PasteSpecial(DataType:=xlBitmap). _
Select
With oPPT.ActivePresentation.Slides(int_j).Shapes(int_i + 1)
.Height = sng_Height
.Left = sng_Left
.Top = 72
End With
If Not int_j = 1 Then sng_Left = (680.315 - oPPT.ActivePresentation.Slides(int_j). _
Shapes(int_i + 1).Width) / 2 + 19.8425
With oPPT.ActivePresentation.Slides(int_j).Shapes(int_i + 1)
.Left = sng_Left
End With
Else
oPPT.ActivePresentation.Slides(int_j).Shapes.PasteSpecial(DataType:=xlBitmap). _
Select
With oPPT.ActivePresentation.Slides(int_j).Shapes(2)
.Height = sng_Height
.Left = sng_Left
.Top = 72
End With
If Not int_j = 1 Then sng_Left = (680.315 - oPPT.ActivePresentation.Slides(int_j). _
Shapes(2).Width) / 2 + 19.8425
With oPPT.ActivePresentation.Slides(int_j).Shapes(2)
.Left = sng_Left
End With
End If
Next int_j

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
nur so als Idee
25.10.2017 08:53:17
yummi
Hallo ZD14,
warum es mit der Dockingstation zu tun hat kann ich mir auch nicht erkären, aber du verwendest absolute Werte bei deinen Shapes. Es könnte an den unterschiedlichen Maßen liegen. Ist aber nur so eine Idee.
Das mit der Dockingstation könnte evtl mit der unterschiedlichen Auflösung zusammen hängen.
Probier doch mal am europäischen Standort verschieden Auflösungen aus und vlt auch das Umstellen auf Amerikanisch, wenn das bei dir geht.
Sind aber nur Ideen
Gruß
yummi
AW: nur so als Idee
25.10.2017 09:16:04
ZD14
Danke für deine schnelle Rückmeldung!
Ich habe mal die Auflösung geändert. Funktioniert trotzdem. Ich frage mich warum die Auflösung etwas ändern sollte.
Die Werte sind in pt und die Größe der Folien in der pptx-Vorlage bleibt immer gleich.
Außerdem ist mein Problem nicht, dass die Bereich nicht kopiert werden und falsch positioniert. Anstatt sie (wie in Europa) zu verkleinern, werden die Bereich zugeschnitten als würde man unter Bildtools Zuschneiden auswählen.
Wie stelle ich auf Amerikanisch um? Die Spracheinstellungen werden es wohl kaum sein :P
Anzeige
AW: VBA läuft nur ohne Dockingstation richtig
25.10.2017 13:23:00
ChrisL
Hi
https://www.mrexcel.com/forum/excel-questions/313187-excel-command-button-grows-size-2.html
https://www.experts-exchange.com/articles/5315/Dealing-with-unintended-Excel-Active-X-resizing-quirks-VBA-code-simulates-self-correction.html
Ich muss gleich los und konnte die Artikel nur überfliegen. Ich hoffe du kannst ein wenig englisch oder du suchst dir ähnliche deutsche Artikel. Es geht zwar um die Grösse/Positionierung von Buttons/Controls aber ich denke das Grundproblem ist das gleiche.
Soweit ich sehen konnte hängt es weniger mit der Dockingstation zusammen, sondern wenn gleichzeitig mehrere Anzeigen mit unterschiedlicher Auflösung in Gebrauch sind.
Evtl. könnte man auch anhand der Excel-Version noch genauer recherchieren resp. Office-Update durchführen. Ich könnte mir vorstellen, dass der "Bug" je nach Version unterschiedlich ausgeprägt ist.
cu
Chris
Anzeige
AW: VBA läuft nur ohne Dockingstation richtig
25.10.2017 14:51:19
ZD14
Hallo Chris,
Das klingt tatsächlich sehr nach dem Problem! Leider kann ich über das verlängerte Wochenende (österreichischer Nationalfeiertag :D) nicht an der Lösung arbeiten. Ich schaue mir das im Dezember an :)
LG

63 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige