Проблема с перемещением файла? - PullRequest
0 голосов
/ 16 ноября 2009

Использование VB6

Я хочу переместить файлы в другую папку.

код.

Dim fso As FileSystemObject
fso.MoveFile (txtsourcedatabasefile & "\" & "1.txt"), App.Path & "\Uploaded\"

txtsourcedatabasefile = "C:"

Вышеупомянутый код не работает, он показывает ошибку как переменную объекта или не установлена ​​переменная блока.

Как изменить мой код.

Нужен справочный код VB6

Ответы [ 2 ]

5 голосов
/ 16 ноября 2009

fso не инициализируется ни к чему, попробуйте заменить

Dim fso As FileSystemObject

с:

Dim fso As New Scripting.FileSystemObject
2 голосов
/ 16 ноября 2009

Всего пара вопросов:

  1. Что для fso установлено?
  2. Что для 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 четыре раза, чтобы увидеть, существует ли он (и создаст его только в первый раз). Более эффективно создать его один раз вручную.

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