Всего пара вопросов:
- Что для
fso
установлено?
- Что для
txtsourcedatabasefile
установлено?
То есть, я подозреваю, в чем ваша проблема. Я бы сам посмотрел на fso
, чтобы убедиться, что вы установили его.
Обновление:
В вашем вопросе обновления, ваш код:
Dim fso As FileSystemObject
создает объект, но вы фактически ничего не инициализируете. Вам нужно сделать:
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Это на самом деле предпочтительнее в подавляющем большинстве случаев, так как почти эквивалентно:
Dim fso As New FileSystemObject
создает объект с автоматическим созданием экземпляра, то есть каждый раз, когда вы его используете, он проверяет, нужно ли его создавать.
Это делает сегмент кода вроде:
Dim fso As New FileSystemObject
fso.DoThis()
fso.DoThat()
if fso.EverythingDone then
fso.Shutdown()
end if
дорого, поскольку он проверит fso
четыре раза, чтобы увидеть, существует ли он (и создаст его только в первый раз). Более эффективно создать его один раз вручную.