Jede Woche gebe ich eine yyyymmdd_report.xls
Arbeitsmappe aus mehreren Blättern mit meinem Makrodatum im Dateinamen. Wenn ich diese Arbeitsmappe manuell zu öffnen, funktioniert der folgende vbs Skript feine Spalten automatisch anpassen:SAS ODS tagsets.excelxp: autofit Spaltenbreiten aufrufen vbscript innerhalb von SAS
Sub AutoFitAll()
Application.ScreenUpdating = False
Dim wkSt As String
Dim wkBk As Worksheet
wkSt = ActiveSheet.Name
For Each wkBk In ActiveWorkbook.Worksheets
On Error Resume Next
wkBk.Activate
Cells.EntireColumn.AutoFit
Next wkBk
Sheets(wkSt).Select
Application.ScreenUpdating = True
End Sub
Gibt es eine Möglichkeit, diese in eine Art von Anruf innerhalb SAS setzen kann, wo ich nicht haben, dies zu tun manuell ? Dokumentation, die ich online gefunden habe, scheint für meine Bedürfnisse etwas zu komplex zu sein. Die Logik wäre:
1. Point to/open output report .xls file (maybe some command/DDE method?)
2. Run vbs script above
3. Re-save the file
I SAS v9.4 renne und hat MSOffice 2010.
Try this: http://www2.sas.com/proceedings/sugi25/25/cc/25p098.pdf –
Danke, @ RobertSoszyński. Das Papier sagt nicht genau, wie 'Macro1' gespeichert ist oder was genau es ist - ich gehe davon aus, dass es ein ähnliches Makro wie das meine oben enthalten würde. Würde ich den Text in einer '.vbs' Datei speichern und aufrufen? Da bin ich verwirrt. – Foxer
Je nachdem, wie komplex Ihr Bericht ist, sehen Sie sich ODS Excel an, das es automatisch implementieren und diesen Schritt vermeiden könnte. – Reeza