Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Help, Pls

9.4K
26 декабря 2004 года
OPO
3 / / 26.12.2004
HIHI

Помогите, пожалуйста.

Нужен код процедуры в Excel, запускающий файл Word, находящийся в той же папке, что файл Excel, из которого процедура исполняется.

Что-то простое. Без DDE по возможности.

Зарание огромное спасибо.

[email]nosy_man@inbox.ru[/email]

BIBI, FRDS
275
26 декабря 2004 года
pashulka
985 / / 19.09.2004
Попробуйте вот так :

Sub OpenDocumentsWord()

With CreateObject("Word.Application")
.Documents.Open ("имя_файла.doc")
.Visible = True
End With

End Sub
9.4K
26 декабря 2004 года
OPO
3 / / 26.12.2004
Цитата:
Originally posted by pashulka
Попробуйте вот так :

Sub OpenDocumentsWord()

With CreateObject("Word.Application")
.Documents.Open ("имя_файла.doc")
.Visible = True
End With

End Sub



THKS,

Но это немного не то.
Дело в том, что мне нужно точно знать путь к файлу Word. Он находится в той же папке, что и файл Excel.
В паскале была функия, вытаскивавшая путь к текущему приложению. Есть ли что-то подобное здесь?

THKS VM in advance.

275
26 декабря 2004 года
pashulka
985 / / 19.09.2004
Вы что издеваетесь ???
Вы сами написали, что файлы расположены в одной папке, а если оба файла находятся в одной папке, то указывать путь к файлу не нужно !!!
4.4K
26 декабря 2004 года
blind rain
66 / / 20.07.2004
Цитата:
Originally posted by OPO
HIHI

Помогите, пожалуйста.

Нужен код процедуры в Excel, запускающий файл Word, находящийся в той же папке, что файл Excel, из которого процедура исполняется.

Что-то простое. Без DDE по возможности.

Зарание огромное спасибо.

[email]nosy_man@inbox.ru[/email]

BIBI, FRDS



В дополнение к ответу pashulka:

 
Код:
Dim XlsPath As String, WrdPath As String
XlsPath = ActiveWorkbook.FullName
WrdPath = miD(XlsPath,1,InstrRev(XlsPath,"\")) & "wordfilename.doc"
275
27 декабря 2004 года
pashulka
985 / / 19.09.2004
To Blind Rain

Давайте будем VBA корректны :

- именно этот мой ответ в дополнении не нуждался, так как он целиком и полностью решал поставленную задачу. Другое дело, что автор топика зачем-то потребовал выдать код определяющий текущую папку, но изначально в вопросе этого не было.
- Ваш код будет работать только в MS Excel 2000 и выше
- собственно говоря текущую папку можно определить использовав Path, тогда весь код будет выглядеть, как :

Sub OpenDocumentsWord()

With CreateObject("Word.Application")
.Documents.Open (ActiveWorkbook.Path & "\" & "имя_файла.doc")
.Visible = True
End With

End Sub
4.4K
27 декабря 2004 года
blind rain
66 / / 20.07.2004
Цитата:
Originally posted by pashulka
To Blind Rain

Давайте будем VBA корректны :

- именно этот мой ответ в дополнении не нуждался, так как он целиком и полностью решал поставленную задачу. Другое дело, что автор топика зачем-то потребовал выдать код определяющий текущую папку, но изначально в вопросе этого не было.
- Ваш код будет работать только в MS Excel 2000 и выше
- собственно говоря текущую папку можно определить использовав Path, тогда весь код будет выглядеть, как :
End Sub


Да, наверное, я дал несовсем корректный совет.
Действительно, использование .Path здесь правильная вещь(эх, подзабыл малость).

Что касается умолчания пути - специально проверил при помещении файлов в "Мои документы" и в "C:\TEMP" для MS Word 2000. Ваш первоначальный код работает далеко не во всех случаях.
Просто интересно: в Excel может быть открыто множество книг, причем из разных каталогов. Можно конечно предположить, что при смене активной книги Excel меняет текущий рабочий каталог. Однако большинство Windows приложений по умолчанию ищет файлы в пути по месту запуска процесса, и по тем, что определены в PATH. Процесс - это Excel в ...\Office. Я лично, всегда стараюсь избегать подобных умолчаний - тогда код понятен и однозначен.

275
27 декабря 2004 года
pashulka
985 / / 19.09.2004
Дык я тоже проверял, причём тоже на разных папках, скажу даже больше именно этот способ использовал, когда писал для себя макросы и проблем не возникало. Что касается наличия множества открытых файлов из разных папок, то ничто в вопросе на это не указывает, впрочем для чистоты эксперимента надо признать, что ничто не указывает что этого быть не может. Так что резюмируя всё вышеизложенное и прибавив мой личный тезис, что хорошая программа должна предусмотреть все возможные "капканы" нужно признать, что идея указать полный путь имеет больше прав на существование, чем код без использования полного пути файла.

Хотя согласитесь, что Ваш код не будет работать в MS Excel 97. Так что совместными усилиями провозгласим мир во всём мире и .Path ...
9.4K
28 декабря 2004 года
OPO
3 / / 26.12.2004
Спасибо огромное ВСЕМ.
Очень выручили. Проблема разрешилась.

BIBIBI
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог