Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 14:06   #1
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию полный путь

Код:
tab_name="Лист1"
Set шаблон = Workbooks("книга1.xls").Worksheets(tab_name)
rc=шаблон.Cells(1, 1).Address(True, True)
Этот код присвоит переменной rc значение "$A$1". Что нужно сделать что бы в rc записался полный путь вида:
'[книга1.xls]Лист1'!$A$1
Ни как не могу разобраться....
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 07.05.2009, 21:24   #2
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

rc = "[Книга1]" & "Лист1!" & Cells(1, 1).Address
pivas вне форума Ответить с цитированием
Старый 07.05.2009, 21:30   #3
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от pivas Посмотреть сообщение
rc = "[Книга1]" & "Лист1!" & Cells(1, 1).Address
Да, но в этом случае я повторно составляю ранее созданную конструкцию которая храниться в переменной "шаблон"... Что не всегда удобно.
Но похоже иного выхода нет.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 07.05.2009, 21:34   #4
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Алексей, твой код в данном случае не нужен.
pivas вне форума Ответить с цитированием
Старый 08.05.2009, 00:20   #5
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от pivas Посмотреть сообщение
Алексей, твой код в данном случае не нужен.
Это он не нужен в данном конкретном случае. А вот в других местах используется именно похожий код, не зря же вынес ссылку на лист в специальную переменную.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 08.05.2009, 00:29   #6
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Тогда измени в своём коде последнюю строку:
rc = шаблон & Cells(1, 1).Address
pivas вне форума Ответить с цитированием
Старый 08.05.2009, 06:38   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Функция Address принимает несколько параметров.
Неужели так сложно в коде поставить курсор на слово Address, и нажать F1...
Цитата:
RowAbsolute Optional Variant. True to return the row part of the reference as an absolute reference. The default value is True.

ColumnAbsolute Optional Variant. True to return the column part of the reference as an absolute reference. The default value is True.

ReferenceStyle Optional XlReferenceStyle.

XlReferenceStyle can be one of these XlReferenceStyle constants.
xlA1 default. Use xlA1 to return an A1-style reference.
xlR1C1. Use xlR1C1 to return an R1C1-style reference.

External Optional Variant. True to return an external reference. False to return a local reference. The default value is False.

RelativeTo Optional Variant. If RowAbsolute and ColumnAbsolute are False, and ReferenceStyle is xlR1C1, you must include a starting point for the relative reference. This argument is a Range object that defines the starting point.
Вам нужно установить параметр External в TRUE.
Код будет выглядеть так:

Код:
Sub test2()
    tab_name = "Лист1"
    Set шаблон = Workbooks("книга1.xls").Worksheets(tab_name)
    rc = шаблон.Cells(1, 1).Address(, , , True)
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 08.05.2009, 10:46   #8
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Функция Address принимает несколько параметров.
Неужели так сложно в коде поставить курсор на слово Address, и нажать F1...
Вам нужно установить параметр External в TRUE.
Код будет выглядеть так:
Код:
Sub test2()
    tab_name = "Лист1"
    Set шаблон = Workbooks("книга1.xls").Worksheets(tab_name)
    rc = шаблон.Cells(1, 1).Address(, , , True)
End Sub
Спасибо! Честно читал... Но мои знания английского, мягко скажем, не на высоте... Не смог разобраться в данном случае.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать полный путь к процессу в Vista abyss_by Win Api 3 26.03.2010 11:47
Из процесса получить полный путь к ехе файлу. Ozerich Общие вопросы Delphi 4 08.08.2008 12:12
Как узнать полный путь к *.ехе файлу SeЯgey Помощь студентам 3 27.05.2008 09:46
Как получить полный путь к файлу, который был послан на принтер? Stilet Общие вопросы Delphi 7 29.02.2008 17:49
как в memo выводит полный путь к файлу? Файлом является данная программа. Alar Компоненты Delphi 0 29.10.2006 23:24