Ich muss VBScript verwenden, um alle Blätter in einer Excel-Arbeitsmappe in Seitenlayoutansicht statt der Standardansicht zu ändern. Ich kann jedoch nicht herausfinden, wie man das in VBS macht. Mit VBA, der Code, den ich verwendet habe (um mit einer while-Schleife über jedes Blatt zu gehen) istVerwenden von VBScript, um Excel-Ansicht zu Seitenlayout zu ändern
With ActiveWindow
.View = xlPageLayoutView
End With
, die meine Zwecke in Ordnung dient. Aber ich muss das in VBS tun. Ich denke, es hat etwas mit dem Application-Objekt zu tun, obwohl ich mir nicht sicher bin. Jede Hilfe wäre willkommen.
Edit: Hier ist ein Beispiel für den Code, den ich mit Erklärungen und Dinge geschrieben habe. Es wird im Grunde über eine Reihe von Blättern in einer Arbeitsmappe iteriert und alle auf die Seitenlayout-Ansicht gesetzt (oder versucht). Aus diesem Segment fehlt das Sub, in dem ich die Arbeitsmappe mit neuen Blättern bestücke, die den Einträgen von Names() entsprechen.
Dim destFile, objWorkbook
Set destFile = CreateObject("Excel.Application")
Set objWorkbook = destFile.Workbooks.Add()
objWorkBook.SaveAs(strPath)
Sub OverNames()
For i = 1 to 9
SetPagelayout(i)
Next
End Sub
Sub SetPageLayout(hNum)
Dim houseSheet, sheetName
'retrieves sheet name from array Names()
sheetName = Names(hNum, 0)
Set houseSheet = destFile.Worksheets(sheetName)
houseSheet.Window.View = xlPageLayoutView
End Sub
Als ich versuchte, dass erhielt ich den Fehler 800a01b6 mit der Fehlermeldung „Objekt nicht diese Eigenschaft oder Methode nicht unterstützt:‚houseSheet. Fenster'." Ich bearbeite meinen Post, um eine modifizierte Version des von mir geschriebenen Codes hinzuzufügen, damit Sie sehen können, wo ich Dinge deklariert habe. – ataylor
Behoben. Sie müssen auf das Fensterobjekt über die Fenstersammlung des Arbeitsbuchs zugreifen. Aktivieren Sie das Arbeitsblatt, das Sie aktualisieren möchten, um es in Index 1 der Arbeitsmappen-Windows-Sammlung zu erzwingen. – Damienknight