Set WrkBook = Worksht.Move выдает Error: expected Function

Программирование на Visual Basic for Applications
rdva
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 16.01.2007 (Вт) 20:36

Set WrkBook = Worksht.Move выдает Error: expected Function

Сообщение rdva » 07.02.2008 (Чт) 17:44

Необходимо сохранить каждый лист книги в отдельный .txt файл. Курсор останавливается на Lst.Move с формулировкой "Expected Function or Vriable". Почему?

Код: Выделить всё
Dim CatalogWbook as Workbook
Dim Lst as Worksheet

Set CatalogWbook = Workbooks("test.xls")

For Each Lst In CatalogWbook.Worksheets
     Set TmpBook = Lst.Move
     TmpBook.SaveAs Filename:="upload" & Replace(ResultList.CodeName, "Лист", "") & ".txt", FileFormat:=xlText
Next

anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Сообщение anvg » 07.02.2008 (Чт) 19:02

rdva
Set TmpBook = Lst.Move

Move - процедура объекта, в данном контексте Worksheet, которая перемещает лист в книге, в которой находится лис,т после заданного или перед. Ничего не возвращает, и, тем более, не перемещает лист во вспомогательную книгу TmpBook

rdva
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 16.01.2007 (Вт) 20:36

Сообщение rdva » 07.02.2008 (Чт) 20:07

Цитата из хелпа Office 2003:

Move Method

expression.Move(Before, After)
expression Required. An expression that returns an object in the Applies To list.

Remarks
If you don't specify either Before or After, Microsoft Excel creates a new workbook that contains the moved sheet.



Раз можно create new workbook, значит можно и присвоить переменную этой new workbook , разве нет?

anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Сообщение anvg » 08.02.2008 (Пт) 2:05

rdva

If you don't specify either Before or After, Microsoft Excel creates a new workbook that contains the moved sheet.

До сих не дочитал. Извиняюсь. Однако, это процедура, так что используйте
Код: Выделить всё
Set TmpBook = ActiveWorkbook

rdva
Новичок
Новичок
 
Сообщения: 36
Зарегистрирован: 16.01.2007 (Вт) 20:36

Сообщение rdva » 08.02.2008 (Пт) 10:44

В моем случае Set TmpBook = ActiveWorkbook не подходит, т.к. рабочая книга не является ActiveWorkbook. Но все равно спасибо.

anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Сообщение anvg » 08.02.2008 (Пт) 16:00

rdva
Чем же?
Microsoft Excel creates a new workbook that contains the moved sheet
- она (New workbook) и становится ActiveWorkbook


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 69

    TopList