Ein Nicht-Programmierer-Amateur Python die langweiligen Dinge machen lassen Dies ist ein Memorandum, wenn es um pywin32 geht.
Da es sich um eine Bestätigung mit einem engen Nutzungsbereich und einer geringen Nutzungshäufigkeit handelt, Die Beschreibung kann Fehler oder Missverständnisse enthalten. Bitte beachten Sie die folgenden Inhalte auf eigenes Risiko.
Das Methodenargument lautet Ähnlich wie bei C ++ - Standardargumenten Es scheint nicht möglich zu sein, das Argument in der Mitte wegzulassen.
So bedienen Sie Excel von pywin32 mit COM https://sites.google.com/site/pythoncasestudy/home/pywin32kara-comwo-tsuka-tsu-te-excelwo-sousa-suru-houhou Betreiben Sie Excel von Python aus mit win32com https://qiita.com/kumarstack55/items/9ae3432446afca06497f Excel betreiben (pywin32: win32com) https://excel-ubara.com/python/python025.html
Die Essenz von Excel https://excel-ubara.com/ Bilderbuch des Lehrers https://www.relief.jp/ Office TANAKA - Excel VBA http://officetanaka.net/excel/vba/ Yones Word- und Excel-Raum http://www.eurus.dti.ne.jp/~yoneyama/
# coding:utf-8
import os
import win32com.client
import win32con
import win32gui
def main():
# ------------------------------------------------------------------
#Legen Sie Excel-Konstanten fest
# ------------------------------------------------------------------
# https://excel-ubara.com/EXCEL/EXCEL905.html
# https://docs.microsoft.com/en-us/office/vba/api/excel(enumerations)
# https://docs.microsoft.com/ja-jp/office/vba/api/excel(enumerations)
# ------------------------------------------------------------------
#Es scheint eine Möglichkeit zu geben, Excel-Konstanten zu erhalten.
# https://wacky.hatenadiary.com/entry/20091011/1255240572
# ------------------------------------------------------------------
# Excel Enum Constants
# ------------------------------------------------------------------
xlAbove = 0
xlBelow = 1
xlSolid = 1
xlFirst = 0
xlLast = 1
xlLastCell = 11
xlTopToBottom = 1
xlLeftToRight = 2
xlGeneral = 1
xlAutomatic = -4105
xlFormats = -4122
xlNone = -4142
xlCenter = -4108
xlDistributed = -4117
xlJustify = -4130
xlBottom = -4107
xlLeft = -4131
xlRight = -4152
xlTop = -4160
xlRTL = -5004
xlLTR = -5003
xlContext = -5002
# ------------------------------------------------------------------
# Excel Enum XlAutoFillType
# ------------------------------------------------------------------
xlFillDefault = 0
xlFillCopy = 1
xlFillSeries = 2
xlFillFormats = 3
xlFillValues = 4
xlFillDays = 5
xlFillWeekdays = 6
xlFillMonths = 7
xlFillYears = 8
xlLinearTrend = 9
xlGrowthTrend = 10
xlFlashFill = 11
# ------------------------------------------------------------------
# Excel Enum XlAutoFilterOperator
# ------------------------------------------------------------------
xlAnd = 1
xlOr = 2
xlTop10Items = 3
xlBottom10Items = 4
xlTop10Percent = 5
xlBottom10Percent = 6
xlFilterValues = 7
xlFilterCellColor = 8
xlFilterFontColor = 9
xlFilterIcon = 10
xlFilterDynamic = 11
# ------------------------------------------------------------------
# Excel Enum XLBordersIndex
# ------------------------------------------------------------------
xlDiagonalDown = 5
xlDiagonalUp = 6
xlEdgeLeft = 7
xlEdgeTop = 8
xlEdgeBottom = 9
xlEdgeRight = 10
xlInsideHorizontal = 12
xlInsideVertical = 11
# ------------------------------------------------------------------
# Excel Enum XLBorderWeight
# ------------------------------------------------------------------
xlHairline = 1
xlThin = 2
xlThick = 4
xlMedium = -4138
# ------------------------------------------------------------------
# Excel Enum XlCellType
# ------------------------------------------------------------------
xlCellTypeConstants = 2
xlCellTypeBlanks = 4
xlCellTypeLastCell = 11
xlCellTypeVisible = 12
xlCellTypeFormulas = -4123
xlCellTypeComments = -4144
xlCellTypeAllFormatConditions = -4172
xlCellTypeSameFormatConditions = -4173
xlCellTypeAllValidation = -4174
xlCellTypeSameValidation = -4175
# ------------------------------------------------------------------
# Excel Enum XlColorIndex
# ------------------------------------------------------------------
xlColorIndexAutomatic = -4105
xlColorIndexNone = -4142
# ------------------------------------------------------------------
# Excel Enum XlCutCopyMode
# ------------------------------------------------------------------
xlCopy = 1
xlCut = 2
# ------------------------------------------------------------------
# Excel Enum XlDeleteShiftDirection
# Excel Enum XlInsertShiftDirection
# ------------------------------------------------------------------
xlShiftUp = -4162
xlShiftDown = -4121
xlShiftToLeft = -4159
xlShiftToRight = -4161
# ------------------------------------------------------------------
# Excel Enum XlDirection
# ------------------------------------------------------------------
xlUp = -4162
xlDown = -4121
xlToLeft = -4159
xlToRight = -4161
# ------------------------------------------------------------------
# Excel Enum XlFileFormat
# ------------------------------------------------------------------
xlCSV = 6
xlHtml = 44
xlWorkbookDefault = 51
xlOpenXMLWorkbook = 51
xlOpenXMLWorkbookMacroEnabled = 52
xlWorkbookNormal = -4143
xlCurrentPlatformText = -4158
# ------------------------------------------------------------------
# Excel Enum XlFixedFormatType
# ------------------------------------------------------------------
xlTypePDF = 0
xlTypeXPS = 1
# ------------------------------------------------------------------
# Excel Enum XlFixedFormatQuality
# ------------------------------------------------------------------
xlQualityStandard = 0
xlQualityMinimum = 1
# ------------------------------------------------------------------
# Excel Enum XlFindLookIn
# ------------------------------------------------------------------
xlFormulas = -4123
xlComments = -4144
xlValues = -4163
# ------------------------------------------------------------------
# Excel Enum XlLineStyle
# ------------------------------------------------------------------
xlContinuous = 1
xlDashDot = 4
xlDashDotDot = 5
xlSlantDashDot = 13
xlDash = -4115
xldot = -4118
xlDouble = -4119
xlLineStyleNone = -4142
# ------------------------------------------------------------------
# Excel Enum XlOrientation
# ------------------------------------------------------------------
xlHorizontal = -4128
xlVertical = -4166
xlDownward = -4170
xlUpward = -4171
# ------------------------------------------------------------------
# Excel Enum XlPasteType
# ------------------------------------------------------------------
xlPasteValues = -4163
xlPasteComments = -4144
xlPasteFormulas = -4123
xlPasteFormats = -4122
xlPasteAll = -4104
xlPasteValidation = 6
xlPasteAllExceptBorders = 7
xlPasteColumnWidths = 8
xlPasteFormulasAndNumberFormats = 11
xlPasteValuesAndNumberFormats = 12
xlPasteAllUsingSourceTheme = 13
xlPasteAllMergingConditionalFormats = 14
# ------------------------------------------------------------------
# Excel Enum XlSheetVisibility
# ------------------------------------------------------------------
xlSheetVisible = -1
xlSheetHidden = 0
xlSheetVeryHidden = 2
# ------------------------------------------------------------------
# Excel Enum XlSpecialCellsValue
# ------------------------------------------------------------------
xlNumbers = 1
xlTextValues = 2
xlLogical = 4
xlErrors = 16
# ------------------------------------------------------------------
# Excel Enum XlSortDataOption
# ------------------------------------------------------------------
xlSortNormal = 0
xlSortTextAsNumbers = 1
# ------------------------------------------------------------------
# Excel Enum XlSortMethod
# ------------------------------------------------------------------
xlPinYin = 1
xlStroke = 2
# ------------------------------------------------------------------
# Excel Enum XlSortOrder
# ------------------------------------------------------------------
xlAscending = 1
xlDescending = 2
xlManual = -4135
# ------------------------------------------------------------------
# Excel Enum XlSortOrientation
# ------------------------------------------------------------------
xlSortColumns = 1
xlSortRows = 2
# ------------------------------------------------------------------
# Excel Enum XlSortOn
# ------------------------------------------------------------------
xlSortOnValues = 0
xlSortOnCellColor = 1
xlSortOnFontColor = 2
xlSortOnIcon = 3
# ------------------------------------------------------------------
# Excel Enum XlSortType
# ------------------------------------------------------------------
xlSortValues = 1
xlSortLabels = 2
# ------------------------------------------------------------------
# Excel Enum XlUnderlineStyle
# ------------------------------------------------------------------
xlUnderlineStyleNone = -4142
xlUnderlineStyleDouble = -4119
xlUnderlineStyleSingle = 2
xlUnderlineStyleSingleAccounting = 4
xlUnderlineStyleDoubleAccounting = 5
# ------------------------------------------------------------------
# Excel Enum XlYesNoGuess
# ------------------------------------------------------------------
xlGuess = 0
xlYes = 1
xlNo = 2
# ------------------------------------------------------------------
#Starten Sie Excel
xlApp = win32com.client.Dispatch("Excel.Application")
# https://stackoverflow.com/questions/2790825/
#Maximierung des Excel-Fensters
win32gui.ShowWindow(xlApp.hwnd, win32con.SW_MAXIMIZE)
#Excel-Anzeige
xlApp.Visible = 1
#Excel-Datei geöffnet
wb = xlApp.Workbooks.Open(f"{os.getcwd()}\\sample.csv")
#Excel-Tabellenobjekt
ws = wb.Worksheets(1)
# ------------------------------------------------------------------
#Wählen Sie das angegebene Blatt aus
# Select()Aktivieren Sie das Blatt vor der Verwendung()Ist notwendig
ws.Activate()
# ------------------------------------------------------------------
#Wählen Sie Zelle A1 aus
ws.Range("A1").Select()
#Wählen Sie A1 bis B2
ws.Range("A1:B2").Select()
#Wählen Sie A1, B2, C3 und D4
ws.Range("A1,B2,C3,D4").Select()
#Wählen Sie A1 bis B2 und C3 bis D4
ws.Range("A1:B2,C3:D4").Select()
# ------------------------------------------------------------------
#Wählen Sie Zelle A1 aus
ws.Cells(1, 1).Select()
#Wählen Sie A1 bis B2
ws.Range(
ws.Cells(1, 1),
ws.Cells(2, 2)
).Select()
# ------------------------------------------------------------------
#Wählen Sie alle Zellen aus
ws.Cells.Select()
# ------------------------------------------------------------------
#Wählen Sie 1-2 Zeilen
ws.Range("1:2").Select()
#Wählen Sie die Spalten A bis B.
ws.Range("A:B").Select()
# https://www.relief.jp/docs/excel-vba-difference-range-rows-columns.html
#Wählen Sie 1-2 Zeilen
ws.Rows("1:2").Select()
# https://www.relief.jp/docs/excel-vba-difference-range-columns.html
#Wählen Sie die Spalten A bis B.
ws.Columns("A:B").Select()
# ------------------------------------------------------------------
#Wählen Sie die erste Zeile des angegebenen Bereichs aus
ws.Range("A1:D4").Rows(1).Select()
#Wählen Sie die erste Spalte des angegebenen Bereichs aus
ws.Range("A1:D4").Columns(1).Select()
# ------------------------------------------------------------------
# (Basierend auf A1 Zelle)Wählen Sie die gesamte Zeile aus
ws.Range("A1").EntireRow.Select()
# (Basierend auf A1 Zelle)Wählen Sie die gesamte Spalte aus
ws.Range("A1").EntireColumn.Select()
# ------------------------------------------------------------------
# (Basierend auf A1 Zelle)Wählen Sie die Zeile bis zur letzten Spalte aus
ws.Range(
ws.Range("A1"),
ws.Cells(1, ws.Columns.Count).End(xlToLeft)
).Select()
# (Basierend auf A1 Zelle)Wählen Sie Spalten bis zur letzten Zeile aus
ws.Range(
ws.Range("A1"),
ws.Cells(ws.Rows.Count, 1).End(xlUp)
).Select()
# ------------------------------------------------------------------
# (Basierend auf A1 Zelle)Wählen Sie den aktuellen Bereich aus
ws.Range("A1").CurrentRegion.Select()
# (Vom aktuellen Blatt)Wählen Sie den verwendeten Bereich aus
ws.UsedRange.Select()
# (Basierend auf A1 Zelle)Endgültige Auswahl der unteren rechten Zelle
ws.Range("A1").SpecialCells(xlLastCell).Select()
# (Basierend auf A1 Zelle)Sichtbare Zellenauswahl
ws.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Select()
# ------------------------------------------------------------------
# https://thecodingforums.com/threads/328174/
# Range.Offset()Offset für Eigentum erhalten()Method
#Versetzen Sie den angegebenen Bereich
ws.Range("A1:D4").GetOffset(2, 2).Select()
# Range.Offset()Offset für Eigentum erhalten()Method
#Versetzen Sie den angegebenen Bereich
ws.Range("A1:D4").GetOffset(RowOffset = 3, ColumnOffset = 3).Select()
# Range.Offset()Offset für Eigentum erhalten()Method
#Versetzen Sie den angegebenen Bereich vertikal
ws.Range("A1:D4").GetOffset(RowOffset = 3).Select()
# Range.Offset()Offset für Eigentum erhalten()Method
#Versetzen Sie den angegebenen Bereich horizontal
ws.Range("A1:D4").GetOffset(RowOffset = 0, ColumnOffset = 3).Select()
# ------------------------------------------------------------------
# https://stackoverflow.com/questions/63112880/
# Range.Resize()GetResize für Eigenschaft()Method
#Ändern Sie die Größe des angegebenen Bereichs
ws.Range("A1:H8").GetResize(2, 2).Select()
# Range.Resize()GetResize für Eigenschaft()Method
#Ändern Sie die Größe des angegebenen Bereichs
ws.Range("A1:H8").GetResize(RowSize = 3, ColumnSize = 3).Select()
# Range.Resize()GetResize für Eigenschaft()Method
#Ändern Sie die vertikale Richtung des angegebenen Bereichs
ws.Range("A1:H8").GetResize(RowSize = 3).Select()
# Range.Resize()GetResize für Eigenschaft()Method
#Ändern Sie die horizontale Richtung des angegebenen Bereichs
ws.Range("A1:H8").GetResize(RowSize = ws.Range("A1:H8").Rows.Count, ColumnSize = 3).Select()
# ------------------------------------------------------------------
#Ermitteln Sie die Anzahl der Zeilen in der angegebenen Zelle
n = ws.Range("A1").Row
print( n )
#Ermitteln Sie die Anzahl der Spalten in der angegebenen Zelle
n = ws.Range("A1").Column
print( n )
#Ermitteln Sie die Anzahl der Zeilen, die im angegebenen Bereich enthalten sind
n = ws.Range("A1:D4").Rows.Count
print( n )
#Ruft die Anzahl der Spalten ab, die im angegebenen Bereich enthalten sind
n = ws.Range("A1:D4").Columns.Count
print( n )
# (Basierend auf A1 Zelle)Holen Sie sich die Anzahl der letzten Zeilen
n = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
print( n )
# (Basierend auf A1 Zelle)Holen Sie sich die Anzahl der letzten Spalten
n = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
print( n )
# ------------------------------------------------------------------
# https://binary-star.net/excel-vba-columnchange
#Konvertieren Sie eine Zahlenzeichenfolge in eine alphabetische Zeichenfolge
a = (xlApp.ActiveWorkBook.ActiveSheet.Cells(1, 1).Address).split("$")[1]
print( a )
a = (xlApp.ActiveWorkBook.ActiveSheet.Cells(1, 2).Address).split("$")[1]
print( a )
a = (xlApp.ActiveWorkBook.ActiveSheet.Cells(1, 3).Address).split("$")[1]
print( a )
a = (xlApp.ActiveWorkBook.ActiveSheet.Cells(1, 27).Address).split("$")[1]
print( a )
a = (xlApp.ActiveWorkBook.ActiveSheet.Cells(1, 53).Address).split("$")[1]
print( a )
#Konvertieren Sie eine alphabetische Zeichenfolge in eine Zahlenzeichenfolge
n = xlApp.ActiveWorkBook.ActiveSheet.Cells(1, "A").Column
print( n )
n = xlApp.ActiveWorkBook.ActiveSheet.Cells(1, "B").Column
print( n )
n = xlApp.ActiveWorkBook.ActiveSheet.Cells(1, "C").Column
print( n )
n = xlApp.ActiveWorkBook.ActiveSheet.Cells(1, "AA").Column
print( n )
n = xlApp.ActiveWorkBook.ActiveSheet.Cells(1, "BA").Column
print( n )
# ------------------------------------------------------------------
#Stellen Sie den Wert in Zelle A1 ein
ws.Range("A1").Value = 99999
#Stellen Sie die Formel in Zelle A1 ein
ws.Range("A1").Formula = "=(3.14159-3)*100000"
# ------------------------------------------------------------------
#Stellen Sie das Anzeigeformat von Zelle A1 ein
ws.Range("A1").NumberFormatLocal = "0.00"
# ------------------------------------------------------------------
#Stellen Sie die vertikale Position der A1-Zellenplatzierung ein
ws.Range("A1").VerticalAlignment = xlCenter
#Stellen Sie die horizontale Position der A1-Zellenplatzierung ein
ws.Range("A1").HorizontalAlignment = xlCenter
#Legen Sie die Richtung der Zeichenfolge in Zelle A1 fest
ws.Range("A1").Orientation = xlUpward
#Legen Sie die Richtung der Zeichenfolge in Zelle A1 fest
ws.Range("A1").Orientation = 45
#Legen Sie die Richtung der Zeichenfolge in Zelle A1 fest
ws.Range("A1").Orientation = 0
# ------------------------------------------------------------------
#Stellen Sie die Schriftart in Zelle A1 ein
ws.Range("A1").Font.Name = "Yu Gothic UI"
#Stellen Sie die Schriftgröße für Zelle A1 ein
ws.Range("A1").Font.Size = 12
#Stellen Sie die Schriftart von Zelle A1 auf Fett
ws.Range("A1").Font.Bold = True
#Stellen Sie die Schriftart der Zelle A1 auf Abschrägung ein
ws.Range("A1").Font.Italic = True
#Unterstreichen Sie die Schriftart in Zelle A1
ws.Range("A1").Font.Underline = xlUnderlineStyleSingle
#Stellen Sie das Durchgestrichen für die A1-Zellenschrift ein
ws.Range("A1").Font.Strikethrough = True
# ------------------------------------------------------------------
#Stellen Sie die Textfarbe der Zelle A1 ein(R+Gx256+Bx256x256)
ws.Range("A1").Font.Color = 255 + 0*256 + 0*256*256
#Stellen Sie die Textfarbe der Zelle A1 ein(Spezifizierte Bestellung BGR)
ws.Range("A1").Font.Color = int("FF0000",16)
#Stellen Sie die Textfarbe der Zelle A1 ein(Angegebene Reihenfolge RGB)
ws.Range("A1").Font.Color = int("".join(list(reversed(["FF0000"[i: i+2] for i in range(0, 6, 2)]))),16)
#Stellen Sie die Textfarbe der Zelle A1 ein(Standard)
ws.Range("A1").Font.ColorIndex = xlColorIndexAutomatic
# ------------------------------------------------------------------
#Stellen Sie die Hintergrundfarbe der Zelle A1 ein(R+Gx256+Bx256x256)
ws.Range("A1").Interior.Color = 255 + 255*256 + 0*256*256
#Stellen Sie die Hintergrundfarbe der Zelle A1 ein(Spezifizierte Bestellung BGR)
ws.Range("A1").Interior.Color = int("FFFF00",16)
#Stellen Sie die Hintergrundfarbe der Zelle A1 ein(Angegebene Reihenfolge RGB)
ws.Range("A1").Interior.Color = int("".join(list(reversed(["FFFF00"[i: i+2] for i in range(0, 6, 2)]))),16)
#Stellen Sie die Hintergrundfarbe der Zelle A1 ein(Standard)
ws.Range("A1").Interior.ColorIndex = xlColorIndexNone
# ------------------------------------------------------------------
#Setzen Sie einen Rand in Zelle A1
ws.Range("A1").Borders.Color = int("".join(list(reversed(["FF0000"[i: i+2] for i in range(0, 6, 2)]))),16)
ws.Range("A1").Borders.LineStyle = xlContinuous
ws.Range("A1").Borders.Weight = xlMedium
#Lassen Sie den Rand der Zelle A1 los
ws.Range("A1").Borders.LineStyle = xlLineStyleNone
#Setzen Sie einen Rand am unteren Rand der Zelle A1
ws.Range("A1").Borders(xlEdgeBottom).Color = int("".join(list(reversed(["FF0000"[i: i+2] for i in range(0, 6, 2)]))),16)
ws.Range("A1").Borders(xlEdgeBottom).LineStyle = xlContinuous
ws.Range("A1").Borders(xlEdgeBottom).Weight = xlMedium
#Entfernen Sie den Rand unten in Zelle A1
ws.Range("A1").Borders(xlEdgeBottom).LineStyle = xlLineStyleNone
# ------------------------------------------------------------------
#Löschen Sie Werte und Formeln in Zelle A1
ws.Range("A1").ClearContents()
#Löschen Sie das A1-Zellenformat
ws.Range("A1").ClearFormats()
#
ws.Range("A1").Clear()
#
ws.Range("A1").Delete()
#()
ws.Range("A1").Delete(xlShiftUp)
#()
ws.Range("A1").Delete(xlShiftToLeft)
#A1-Zelle löschen A1-Zelle löschen A1 nach oben verschieben A1-Zelle verschieben Linksverschiebung löschen In A1-Zelle einfügen
ws.Range("A1").Insert()
#In Zelle A1 einfügen(Runterschalten)
ws.Range("A1").Insert(xlShiftDown)
#In Zelle A1 einfügen(Nach rechts schalten)
ws.Range("A1").Insert(xlShiftToRight)
# ------------------------------------------------------------------
# (A1 Leitungsstandard)Höhe einstellen
ws.Range("A1").RowHeight = 30
# (A1 Säulenstandard)Breite einstellen
ws.Range("A1").ColumnWidth = 30
# (A1 Leitungsstandard)Automatische Höhenverstellung
ws.Range("A1").EntireRow.AutoFit()
# (A1 Säulenstandard)Die Breite wird automatisch angepasst
ws.Range("A1").EntireColumn.AutoFit()
# ------------------------------------------------------------------
#So zeigen Sie einzelne Gruppen an und verbergen sie
# https://vbabeginner.net/%e3%82%b0%e3%83%ab%e3%83%bc%e3%83%97%e5%8c%96%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%81%a8%e9%9d%9e%e8%a1%a8%e7%a4%ba/
#Zeilengruppierung festlegen
ws.Range("A1").EntireRow.Group()
#Zeilengruppierung ausblenden
ws.Outline.ShowLevels(RowLevels = 1)
#Zeilengruppierung anzeigen
ws.Outline.ShowLevels(RowLevels = 8)
#Gruppierung aufheben
ws.Range("A1").EntireRow.Ungroup()
#Spaltengruppierung festlegen
ws.Range("A1").EntireColumn.Group()
#Spaltengruppierung ausblenden
ws.Outline.ShowLevels(RowLevels = 0, ColumnLevels = 1)
#Spaltengruppierung anzeigen
ws.Outline.ShowLevels(RowLevels = 0, ColumnLevels = 8)
#Spalten aufheben
ws.Range("A1").EntireColumn.Ungroup()
# ------------------------------------------------------------------
#Kopieren Sie Zelle A1 in Zelle B1
ws.Range("A1").Copy(ws.Range("B1"))
#Kopieren Sie Zelle A1 in Zelle A1 von Blatt2
ws.Range("A1").Copy(wb.Worksheets("Sheet2").Range("A1"))
#Kopieren Sie den aktuellen Bereich der A1-Zellreferenz in die Blatt-A1-Zellreferenz
ws.Range("A1").CurrentRegion.Copy(wb.Worksheets("Sheet2").Range("A1"))
#Kopieren Sie die Zelle A1 in die Zwischenablage
ws.Range("A1").Copy()
#Kopieren Sie die Zwischenablage in Zelle B2
ws.Activate()
ws.Range("B2").Select()
ws.Paste()
#Kopieren Sie die Zwischenablage in Zelle C3(Wert einfügen)
ws.Range("C3").PasteSpecial(xlPasteValues)
#Kopieren Sie die Zwischenablage in Zelle C3(Format einfügen)
ws.Range("C3").PasteSpecial(xlPasteFormats)
#Kopieren Sie die Zwischenablage in Zelle C3(Formel einfügen)
ws.Range("C3").PasteSpecial(xlPasteFormulas)
#Schnittmodus oder Kopiermodus abbrechen
xlApp.CutCopyMode = False
# ------------------------------------------------------------------
#Verschieben Sie Zelle A1 in Zelle B1
ws.Range("A1").Cut(ws.Range("B1"))
#Verschieben Sie Zelle A1 in Zelle A1 von Blatt2
ws.Range("A1").Cut(wb.Worksheets("Sheet2").Range("A1"))
#Bewegen Sie die Zelle A1 zum Clip
ws.Range("A1").Cut()
#Schnittmodus oder Kopiermodus abbrechen
xlApp.CutCopyMode = False
# ------------------------------------------------------------------
#Kopieren Sie den Inhalt der linken Spalte des Bereichs A1 bis D4 stapelweise in den Bereich
ws.Range("A1:D4").FillRight()
#Kopieren Sie den Inhalt der oberen Zeile im Bereich von E1 bis H4 stapelweise in den Bereich
ws.Range("E1:H4").FillDown()
#Kopieren Sie den Inhalt der rechten Spalte im Bereich von A5 bis D8 stapelweise in den Bereich
ws.Range("A5:D8").FillLeft()
#Stapelkopie des Inhalts der unteren Zeile im Bereich von E5 bis H8
ws.Range("E5:H8").FillUp()
# ------------------------------------------------------------------
#AutoFill von A1 nach H1 nach A1 nach H8
ws.Range("A1:H1").AutoFill(ws.Range("A1:H8"))
#AutoFill von A1 nach H2 nach A1 nach H8
ws.Range("A1:H2").AutoFill(ws.Range("A1:H8"), xlFillDefault)
# ------------------------------------------------------------------
#AutoFilter der aktuelle Bereich relativ zur A1-Zelle
ws.Range("A1").CurrentRegion.AutoFilter()
ws.Range("A1").CurrentRegion.AutoFilter(Field = 1, Criteria1 = ">30")
#AutoFilter der aktuelle Bereich relativ zur A1-Zelle
ws.Range("A1").CurrentRegion.AutoFilter()
ws.Range("A1").CurrentRegion.AutoFilter(Field = 1, Criteria1 = ">30", Operator = xlAnd, Criteria2 = "<80")
#AutoFilter der aktuelle Bereich relativ zur A1-Zelle
ws.Range("A1").CurrentRegion.AutoFilter()
ws.Range("A1").CurrentRegion.AutoFilter(1, ">30")
#AutoFilter der aktuelle Bereich relativ zur A1-Zelle
ws.Range("A1").CurrentRegion.AutoFilter()
ws.Range("A1").CurrentRegion.AutoFilter(1, ">30", xlAnd, "<80")
#AutoFilter der aktuelle Bereich relativ zur A1-Zelle
ws.Range("A1").CurrentRegion.AutoFilter()
ws.Range("A1").CurrentRegion.AutoFilter(1, ">30", xlAnd, "<80")
ws.Range("A1").CurrentRegion.AutoFilter(2, ">40", xlAnd, "<60")
#Wählen Sie den Bereich des AutoFilters
ws.AutoFilter.Range.Select()
#Sichtbare Zellenauswahl im Bereich AutoFilter
ws.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Select()
#Anzahl der sichtbaren Zellenzeilen im AutoFilter-Bereich
n = int(ws.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Count / ws.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Columns.Count)
print( n )
#AutoFilter anwenden
ws.AutoFilter.ApplyFilter()
#AutoFilter entfiltern
if ws.FilterMode:
ws.ShowAllData()
#AutoFilter abbrechen
if ws.AutoFilterMode:
ws.AutoFilterMode = False
# ------------------------------------------------------------------
#Sortieren Sie den aktuellen Bereich basierend auf der A1-Zelle( Range Sort Method )
#Wenn Type weggelassen wird, wird die Angabe von Order2 usw. nach Type ignoriert.
#Wenn Typ auf Keine gesetzt ist, tritt kein Fehler auf, aber es kommt zu Fehlfunktionen.
ws.Activate()
ws.Range("A1").CurrentRegion.Select()
ws.Range("A1").CurrentRegion.Sort(
Key1 = ws.Range("A1"), Order1 = xlDescending,
Key2 = ws.Range("B1"),
Type = None,
Order2 = xlDescending,
Key3 = ws.Range("C1"), Order3 = xlAscending,
Header = xlYes,
MatchCase = False,
Orientation = xlSortColumns,
SortMethod = xlPinYin,
DataOption1 = xlSortNormal,
DataOption2 = xlSortNormal,
DataOption3 = xlSortNormal,
)
#Sortieren Sie den aktuellen Bereich basierend auf der A1-Zelle( Sort Object )
#Obwohl dies in der VBA-Referenz von Microsoft optional ist,
#Beachten Sie, dass es möglicherweise nicht normal sortiert wird, wenn es weggelassen wird.
ws.Activate()
ws.Range("A1").CurrentRegion.Select()
ws.Sort.SortFields.Clear()
ws.Sort.SortFields.Add(Key = ws.Range("A1"), SortOn = xlSortOnValues, DataOption = xlSortNormal, Order = xlAscending)
ws.Sort.SortFields.Add(Key = ws.Range("B1"), SortOn = xlSortOnValues, DataOption = xlSortNormal, Order = xlAscending)
ws.Sort.SortFields.Add(Key = ws.Range("C1"), SortOn = xlSortOnValues, DataOption = xlSortNormal, Order = xlDescending)
ws.Sort.SetRange( ws.Range("A1").CurrentRegion)
ws.Sort.Header = xlYes
ws.Sort.MatchCase = False
ws.Sort.Orientation = xlSortColumns
ws.Sort.SortMethod = xlPinYin
ws.Sort.Apply()
# ------------------------------------------------------------------
#Sortieren Sie nach dem Ausführen von AutoFilter( Sort Object )
#Obwohl dies in der VBA-Referenz von Microsoft optional ist,
#Beachten Sie, dass es möglicherweise nicht normal sortiert wird, wenn es weggelassen wird.
ws.Activate()
ws.Range("A1").CurrentRegion.Select()
ws.Range("A1").CurrentRegion.AutoFilter()
ws.Range("A1").CurrentRegion.AutoFilter(1, ">30", xlAnd, "<80")
ws.AutoFilter.Sort.SortFields.Clear()
ws.AutoFilter.Sort.SortFields.Add(Key = ws.Range("A1"), SortOn = xlSortOnValues, DataOption = xlSortNormal, Order = xlDescending)
ws.AutoFilter.Sort.SortFields.Add(Key = ws.Range("B1"), SortOn = xlSortOnValues, DataOption = xlSortNormal, Order = xlDescending)
ws.AutoFilter.Sort.SortFields.Add(Key = ws.Range("C1"), SortOn = xlSortOnValues, DataOption = xlSortNormal, Order = xlAscending)
#ws.AutoFilter.Sort.SetRange()
ws.AutoFilter.Sort.Header = xlYes
ws.AutoFilter.Sort.MatchCase = False
ws.AutoFilter.Sort.Orientation = xlSortColumns
ws.AutoFilter.Sort.SortMethod = xlPinYin
ws.AutoFilter.Sort.Apply()
# ------------------------------------------------------------------
#Blatt ausblenden
ws.Visible = xlSheetHidden
#Anzeige des Blattes
ws.Visible = xlSheetVisible
# ------------------------------------------------------------------
#Blattschutzeinstellungen
ws.Protect()
#Freigabe des Blattschutzes
ws.Unprotect()
#Stellen Sie den Schutz des Blattes mit Passwort ein
ws.Protect(Password = "hoge")
#Blatt mit Passwort aufheben
ws.Unprotect(Password = "hoge")
# ------------------------------------------------------------------
#Buchschutzeinstellungen
wb.Protect()
#Das Buch aufheben
wb.Unprotect()
#Schützen Sie Ihre Arbeitsmappe mit einem Passwort
wb.Protect(Password = "hoge")
#Entfernen Sie den Kennwortschutz für Arbeitsmappen
wb.Unprotect(Password = "hoge")
# ------------------------------------------------------------------
#Einstellung der Zoomvergrößerung
ws.Activate()
ws.Range("A1").Select()
xlApp.ActiveWindow.Zoom = 90
# ------------------------------------------------------------------
# https://stackoverflow.com/questions/43146073/
#Rahmen reparieren
ws.Activate()
ws.Range("C3").Select()
xlApp.ActiveWindow.FreezePanes = True
# ------------------------------------------------------------------
# https://qiita.com/Tachy_Pochy/items/64fe16ec076c52556b2d
# CTRL+HOME (Entschuldigung bei der Verwendung von AutoFilter)
ws.Activate()
ws.Range("A1").Select()
xlCtrlHomeRow = int(xlApp.ActiveWindow.SplitRow) + int(xlApp.ActiveWindow.Panes(1).ScrollRow) if (1 < xlApp.ActiveWindow.Panes.Count) else 1
xlCtrlHomeColumn = int(xlApp.ActiveWindow.SplitColumn) + int(xlApp.ActiveWindow.Panes(1).ScrollColumn) if (1 < xlApp.ActiveWindow.Panes.Count) else 1
ws.Cells(xlCtrlHomeRow, xlCtrlHomeColumn).Select()
# https://excel-ubara.com/excelvba4/EXCEL272.html
# CTRL+HOME-ähnliche A1-Zellenauswahl
ws.Activate()
ws.Range("A1").Select()
xlApp.Goto(ws.Range("A1"), True)
# ------------------------------------------------------------------
#Neuberechnung
xlApp.Calculate()
#Stoppen Sie die Anzeige von Warnmeldungen in Excel
xlApp.DisplayAlerts = False
#Starten Sie die Anzeige von Warnmeldungen in Excel
xlApp.DisplayAlerts = True
#Beenden Sie die Aktualisierung des Excel-Bildschirms
xlApp.ScreenUpdating = False
#Starten Sie die Aktualisierung des Excel-Bildschirms
xlApp.ScreenUpdating = True
# ------------------------------------------------------------------
#Ändern Sie den Namen des Blattes
wb.Worksheets("Sheet2").Name = "Sheet9"
#Blatt hinzufügen
xlApp.Worksheets.Add()
#Kopie des Blattes(Kopieren Sie vor dem angegebenen Blatt)
ws.Copy(Before = wb.Worksheets("Sheet9"))
# https://stackoverflow.com/questions/52685699/
#Kopie des Blattes(Nach dem angegebenen Blatt kopieren)
ws.Copy(Before = None, After = wb.Worksheets("Sheet9"))
#Sitz bewegen(Bewegen Sie sich zur Vorderseite des angegebenen Blattes)
ws.Move(Before = wb.Worksheets("Sheet9"))
# https://stackoverflow.com/questions/52685699/
#Sitz bewegen(Bewegen Sie sich nach dem angegebenen Blatt)
ws.Move(Before = None, After = wb.Worksheets("Sheet9"))
#Blatt löschen
wb.Worksheets("Sheet9").Delete()
# ------------------------------------------------------------------
#Ausgabeblatt als PDF
ws.ExportAsFixedFormat(Type = xlTypePDF, Quality = xlQualityStandard, Filename = f"{os.getcwd()}\\output.pdf")
# ------------------------------------------------------------------
#Speichern Sie die Arbeitsmappe in einer Datei
wb.Save()
#Speichern Sie die Arbeitsmappe in einer XLSX-Datei
wb.SaveAs(f"{os.getcwd()}\\outputSaveAs.xlsx", FileFormat = xlOpenXMLWorkbook)
#Speichern Sie die Arbeitsmappe in einer XLS-Datei
wb.SaveAs(f"{os.getcwd()}\\outputSaveAs.xls", FileFormat = xlWorkbookNormal)
#Arbeitsmappe in CSV-Datei speichern
wb.SaveAs(f"{os.getcwd()}\\outputSaveAs.csv", FileFormat = xlCSV)
# ------------------------------------------------------------------
#Schliesse das Buch
wb.Close()
#Schließen, ohne das Buch zu speichern
wb.Close(SaveChanges = False)
# ------------------------------------------------------------------
#Beenden Sie Excel
xlApp.Quit()
# ------------------------------------------------------------------
if __name__ == "__main__":
main()
Recommended Posts