Wpis z mikrobloga

#excel #office356 #openoffice #vbs #vba

Pytanie - dlaczego po wykonaniu skryptu z harmonogramu zadań (cscript.exe + kod vbs) kolumny z walutami przestawiają mi się na typ niestandardowy, gdzie cyfry z minusem są w nawiasie i na czerwono?
Tutaj kod którego używam w VBS - za każdym razem muszę poprawiać ale przy kolejnym obliczaniu znów wraca do tego formatu.

Dim s

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("adres do pliku")

s = objExcel.ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")
objExcel.Application.Visible = true
objExcel.Visible = true
objExcel.DisplayAlerts = False
objExcel.AlertBeforeOverwriting = False

objWorkbook.RefreshAll
objExcel.Calculate
Do Until objExcel.CalculationState = xlDone
objWorkbook.ActiveWorkbook.RefreshAll
Loop

objExcel.ActiveWorkbook.Save
Do Until objExcel.ActiveWorkbook.BuiltinDocumentProperties("Last Save Time") > s
Loop

objWorkbook.Saved = True
objExcel.ActiveWorkbook.Close
objExcel.Quit
Set objWorkbook = Nothing
Set objExcel = Nothing

Wygląda to tak jak na obrazku
w.....e - #excel #office356 #openoffice #vbs #vba 

Pytanie - dlaczego po wykonaniu...

źródło: comment_1591002265dMcLevBG5aaGZM7DSL7RLz.jpg

Pobierz
  • 6
  • Odpowiedz
@wzr1one: Dodaj:
RANGE(Twoj zakres).NumberFormat = "zl#,##0.00"
albo
Sheets("Sheet1").Columns("A").NumberFormat = "zl#,##0.00"
albo
Sheets("Sheet1").Columns("A").Style = "Currency"
  • Odpowiedz
konto usunięte via Wykop Mobilny (Android)
  • 0
@dr_Cyban: ale to masz wywołanie do kazdej kolumny która oznaczę ręcznie - czyli fizycznie przed pierwszym razem muszę oznaczyć kolumny - pytanie dlaczego tak sie dzieje i jak sie tego pozbyć byloby lepszym rozwiązaniem niz ustalanie kazdego zakresu wcześniej
  • Odpowiedz