VBS - как получить сегодняшнюю дату имени файла? - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть программа для преобразования .csv в файл .xls, но в файлах указана сегодняшняя дата, например, «C: \ Users \ user \ Downloads \ arquivo_2019-02-19.csv», а затем, когда мне нужнодля преобразования необходимо изменить для каждого файла код VBS (в конце этого сообщения).

У меня есть функция, которую я использую в другом примере, я помещаю сюда только для того, чтобы описать, как онаможет быть.

    %let todaysDate = %sysfunc(today(), yymmdd10.); 
filename  test1 ftp "C:\Users\user\Downloads\arquivo_&todaysdate..csv"

Как я могу автоматизировать этот процесс для кода, чтобы получить сегодняшнюю дату для каждого нового файла?

Option Explicit

Dim fldr, f, file,strOrigFile, strFile, fso, strDirectory
Dim objExcel

strOrigFile = "C:\Users\user\Downloads\arquivo_2019-02-19.csv"  
'******************************************************
'CONVERTS THE FILE TO AN EXCEL FILE
'******************************************************
strFile = replace(strOrigFile,".csv",".xls")

Set objExcel = CreateObject("Excel.Application")

objExcel.Workbooks.Open strOrigFile

objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveAs strFile, -4143

objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.Close
objExcel.DisplayAlerts = False
objExcel.Application.Quit

'******************************************************
'FORMAT THE EXCEL FILE AND SAVE IT
'******************************************************

objExcel.Workbooks.Open strFile

objExcel.columns("A:A").numberformat="0"
objExcel.columns("C:C").numberformat="0"


objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveAs strFile, -4143

objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.Close
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing

msgbox "FINISHED!!!"

1 Ответ

0 голосов
/ 03 марта 2019

Попробуйте это:

Option Explicit

Dim fldr, f, file,strOrigFile, strFile, fso, strDirectory
Dim objExcel
Dim dd, mm, yy
Dim datevalue, timevalue, dtsnow, dtsvalue

dtsnow = Now()
dd = Right("00" & Day(dtsnow), 2)
mm = Right("00" & Month(dtsnow), 2)
yy = Year(dtsnow)

datevalue = yy & "-" & mm & "-" & dd

strOrigFile = "C:\Users\user\Downloads\arquivo_" & datevalue & ".csv"

'******************************************************
'CONVERTS THE FILE TO AN EXCEL FILE
'******************************************************
strFile = replace(strOrigFile,".csv",".xls")

Set objExcel = CreateObject("Excel.Application")

objExcel.Workbooks.Open strOrigFile

objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveAs strFile, -4143

objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.Close
objExcel.DisplayAlerts = False
objExcel.Application.Quit

'******************************************************
'FORMAT THE EXCEL FILE AND SAVE IT
'******************************************************

objExcel.Workbooks.Open strFile

objExcel.columns("A:A").numberformat="0"
objExcel.columns("C:C").numberformat="0"

objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.SaveAs strFile, -4143

objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.Close
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing

msgbox "FINISHED!!!"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...