Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / С помощью макросов закрыть конкретный Word документ / 7 сообщений из 7, страница 1 из 1
27.12.2007, 11:14
    #35037121
Maart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С помощью макросов закрыть конкретный Word документ
Предположим у пользователя открыто несколько документов Word, в том числе и тот, который программно требуется закрыть. Активным является некий другой документ.
Выполнение можно было бы поручить скрипту :
Код: plaintext
1.
2.
3.
     Windows(N).Activate
     ActiveDocument.Save
     ActiveDocument.Close
но N нам неизвестно.

По идее можно закрыть проверяя имя документа, но это ведет к запрету на переименование.

Так вот вопрос: есть ли какой-то уникальный индентификатор, по которому мы можем закрыть именно этот документ, не перепутав его с другим?

Может есть принципиально другое решение?
...
Рейтинг: 0 / 0
27.12.2007, 11:27
    #35037161
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С помощью макросов закрыть конкретный Word документ
По идее можно закрыть проверяя имя документа, но это ведет к запрету на переименование.Какому еще запрету на преименование чего? Имя документа и так read only.
Так вот вопрос: есть ли какой-то уникальный индентификатор, по которому мы можем закрыть именно этот документ, не перепутав его с другим?Путь к файлу.
...
Рейтинг: 0 / 0
27.12.2007, 11:47
    #35037256
Maart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С помощью макросов закрыть конкретный Word документ
AntonariyКакому еще запрету на преименование чего? Имя документа и так read only.
Допустим, я прописываю в макросе закрыть документ с именем Документ1.doc.
А через время пользователь его переименовывает.
И как после этого макрос найдет этот файл?

Antonariy
MaartТак вот вопрос: есть ли какой-то уникальный индентификатор, по которому мы можем закрыть именно этот документ, не перепутав его с другим?Путь к файлу.
Путь к файлу включает имя файла и поэтому будет та же проблемаописанная выше.

Поправьте если ошибаюсь.
...
Рейтинг: 0 / 0
27.12.2007, 11:57
    #35037300
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С помощью макросов закрыть конкретный Word документ
Допустим, я прописываю в макросе закрыть документ с именем Документ1.doc.
А через время пользователь его переименовывает. Каким образом пользователь переименует файл, который уже закрыт?
...
Рейтинг: 0 / 0
27.12.2007, 11:59
    #35037305
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С помощью макросов закрыть конкретный Word документ
Вообще какая-то мутная постановка задачи. Нельзя ли попродробнее, что за файлы, зачем их нужно закрывать программно, откуда происходит закрытие?
...
Рейтинг: 0 / 0
27.12.2007, 17:48
    #35038533
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С помощью макросов закрыть конкретный Word документ
MaartДопустим, я прописываю в макросе закрыть документ с именем Документ1.doc.
А через время пользователь его переименовывает.
И как после этого макрос найдет этот файл?На, покури вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
public global_doc as Document 
sub some_init_macros()
   application.documents.add
   set global_doc = activedocument
end sub
' а теперь пользователь пусть хоть запереименовывается
sub close_document_macros()
    global_doc.close
end sub
...
Рейтинг: 0 / 0
28.12.2007, 11:34
    #35039525
Maart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
С помощью макросов закрыть конкретный Word документ
White Owl
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
public global_doc as Document 
sub some_init_macros()
   application.documents.add
   set global_doc = activedocument
end sub
' а теперь пользователь пусть хоть запереименовывается
sub close_document_macros()
    global_doc.close
end sub


Насколько я понимаю создается глобальная переменная, которая присваивается активному (только что созданному) документу. Потом можно обратиться непосредственно к этому документу по имени глобальной переменной. По сути это будет уникальным индентификатором.
То что надо! Спасибо!

Проверил, работает.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / С помощью макросов закрыть конкретный Word документ / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]