Я знаю, что этот вопрос был опубликован давно, но в случае, если кто-то столкнется с этим, здесь оптимизированное решение, используя moment.js:
function getBusinessDays(startDate, endDate){
var startDateMoment = moment(startDate);
var endDateMoment = moment(endDate)
var days = Math.round(startDateMoment.diff(endDateMoment, 'days') - startDateMoment .diff(endDateMoment, 'days') / 7 * 2);
if (endDateMoment.day() === 6) {
days--;
}
if (startDateMoment.day() === 7) {
days--;
}
return days;
}
Примерно так:
Dim wb as Workbook, sht as worksheet, pth
Set sht = ActiveSheet
pth = "='[" & sht.parent.name & "]" & sht.Name & "'!"
'ChDir "\\FS3\Users$\UsersName\Desktop" 'not needed here...
set wb = Workbooks.Open("\\FS3\Users$\UsersName\Desktop\Costing Template Test.xlsx")
With wb.Sheets("Open Quote")
.Range("B3").FormulaR1C1 = pth & "R6C2"
'etc etc
End with