Seite 1 von 1
DragOff in Excel-Datei mit xlwings
Verfasst: Donnerstag 7. September 2023, 10:39
von superschlau
Hoi zäme
Ich versuche eine Umbruchanpassung mit Zoom der Seite mit xlwings zu erstellen.
In VBA schreibe ich:
Code: Alles auswählen
ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
Ich habe es in xlwings wie folgt versucht:
Code: Alles auswählen
sheet.api.VPageBreaks(1).DragOff(Direction=xw.constants.Direction.xlToRight, RegionIndex=1)
Doch dies ergibt einen Ausnahmefehler.
Kann mir jemand helfen, wie ich in Python mit xlwings dieses "DragOff" erstellen kann.
Danke, Jakob
Re: DragOff in Excel-Datei mit xlwings
Verfasst: Donnerstag 7. September 2023, 15:24
von __blackjack__
@superschlau: Was ist denn ein Ausnahmefehler?
Ausnahmen bitte komplett mit Traceback 1:1 zeigen und nicht irgendwie umschreiben.
Re: DragOff in Excel-Datei mit xlwings
Verfasst: Freitag 8. September 2023, 06:51
von superschlau
Mache ich gerne:
Hier ein vollständiger Code:
Code: Alles auswählen
import xlwings as xw
#### Excel-Objekt für die Seite der Darstellung der Berechnung
book = xw.Book()
sheet = book.sheets[0]
sheet.name = 'Liste'
sheet = book.sheets.add(sheetName, after=book.sheets[-1])
for col in range(1, 15):
sheet.range(3, col).value = 'Grosser-Wert'
sheet.api.VPageBreaks(1).DragOff(Direction=xw.constants.Direction.xlToRight, RegionIndex=1)
Und das Ergebnis:
Code: Alles auswählen
---------------------------------------------------------------------------
com_error Traceback (most recent call last)
Cell In [7], line 13
10 for col in range(1, 15):
11 sheet.range(3, col).value = 'Grosser-Wert'
---> 13 sheet.api.VPageBreaks(1).DragOff(Direction=xw.constants.Direction.xlToRight, RegionIndex=1)
File ~\anaconda3\envs\excel\lib\site-packages\xlwings\_xlwindows.py:109, in COMRetryMethodWrapper.__call__(self, *args, **kwargs)
107 while True:
108 try:
--> 109 v = self.__method(*args, **kwargs)
110 if isinstance(v, (CDispatch, CoClassBaseClass, DispatchBaseClass)):
111 return COMRetryObjectWrapper(v)
File ~\anaconda3\envs\excel\lib\site-packages\win32com\gen_py\00020813-0000-0000-C000-000000000046x0x1x9.py:40269, in VPageBreak.DragOff(self, Direction, RegionIndex)
40268 def DragOff(self, Direction=defaultNamedNotOptArg, RegionIndex=defaultNamedNotOptArg):
> 40269 return self._oleobj_.InvokeTypes(1420, LCID, 1, (24, 0), ((3, 1), (3, 1)),Direction
40270 , RegionIndex)
com_error: (-2147352567, 'Ausnahmefehler aufgetreten.', (0, None, None, None, 0, -2146827284), None)
Re: DragOff in Excel-Datei mit xlwings
Verfasst: Freitag 8. September 2023, 09:45
von __blackjack__
In der Dokumentation zu `DragOff()` steht ja „This method exists primarily for the macro recorder. Use the Delete method to delete a page break in Visual Basic.“
Das wäre also das erste was ich ändern würde.