powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не выводит имя открытого документа
20 сообщений из 20, страница 1 из 1
Не выводит имя открытого документа
    #39311191
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу скрипт в Кореле (X6, 64bit):
Код: vbnet
1.
2.
3.
Sub DocName()
MsgBox ActiveDocument.Name
End Sub



В окошке выводит Untitled-1, хотя у меня открыт документ с другим именем.

Пробую так:
Код: vbnet
1.
2.
3.
Sub DocName()
MsgBox CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveDocument.Name)
End Sub



Всё равно выводит Untitled
Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311197
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для затравки
Код: vbnet
1.
MsgBox ThisDocument.FullFileName

(с vba в кореле не работал - методом тыка)
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311241
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NemoSUN,

вообще надо бы уточнить откуда запускается код и имя документы какой программы надо получить. Это тоже документ корела или это может, вообще Word?
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311311
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProДля затравки
Код: vbnet
1.
MsgBox ThisDocument.FullFileName

(с vba в кореле не работал - методом тыка)
"FullFileName" не подходит. Мне же нужно только ".Name"

The_PristNemoSUN,

вообще надо бы уточнить откуда запускается код и имя документы какой программы надо получить. Это тоже документ корела или это может, вообще Word?
Код запускается в программе CorelDraw X6 (64bit). Документ Корела.

Всё !!! Работает. Оказывается пока файл находился в директории "D:\!!! Distr\Temp" скрипт не мог получить имя. Как только перенёс в другой директорий сразу заработало. Почему так может быть ?
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311316
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NemoSUN"FullFileName" не подходит. Мне же нужно только ".Name"Ну так у вас для этого есть GetBaseName.

У меня корел для ThisDocument.Name выдает "ThisDocument", а для ActiveDocument.Name - пустую строку, при том, что у меня открыт только один документ. Фиг его знает, как должно быть.
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311370
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProNemoSUN"FullFileName" не подходит. Мне же нужно только ".Name"Ну так у вас для этого есть GetBaseName.

У меня корел для ThisDocument.Name выдает "ThisDocument", а для ActiveDocument.Name - пустую строку, при том, что у меня открыт только один документ. Фиг его знает, как должно быть.

Можно тогда попробовать CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveDocument.Name)
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311476
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой смысл, если аргумент - пустая строка?

msdnThe GetBaseName method works only on the provided path string. It does not attempt to resolve the path, nor does it check for the existence of the specified path.
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311493
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NemoSUN.GetBaseName(ActiveDocument.Name)Тут какой момент-то...Метод GetBaseName принимает в качестве аргумента полный путь к файлу , имя которого надо получить. Т.е. когда Вы подсовываете ActiveDocument.Name - угадайте, где он чего должен искать? Поэтому правильнее так получать имя:
Код: vbnet
1.
2.
3.
Sub DocName()
MsgBox CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveDocument.FullName)
End Sub
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311734
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_PristNemoSUN.GetBaseName(ActiveDocument.Name)Тут какой момент-то...Метод GetBaseName принимает в качестве аргумента полный путь к файлу , имя которого надо получить. Т.е. когда Вы подсовываете ActiveDocument.Name - угадайте, где он чего должен искать? Поэтому правильнее так получать имя:
Код: vbnet
1.
2.
3.
Sub DocName()
MsgBox CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveDocument.FullName)
End Sub



А вот не выводит имя таким методом. Старый метод работает. Причём, если ставлю ActiveDocument.FullName, то вообще окошко не выходит. При этом система не говорит о каких-либо ошибках.
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311785
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NemoSUNто вообще окошко не выходит. При этом система не говорит о каких-либо ошибках.значит где-то стоит On Error Resume Next - чудес не бывает

Пробуй строку в Immediate
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311824
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, +1

FSO в любой среде один синтаксис имеет. И если не выводит - значит либо доступа к папке нет, либо у файла тупо еще нет полного пути(обычно это касается только что созданных и еще не сохраненных файлов).
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311843
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_PristShocker.Pro, +1

FSO в любой среде один синтаксис имеет. И если не выводит - значит либо доступа к папке нет, либо у файла тупо еще нет полного пути(обычно это касается только что созданных и еще не сохраненных файлов).
А почему тогда в этом случае работает ActiveDocument.Name ?
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311853
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProПробуй строку в Immediate
Это где ? Я не профи. Мне программка нужна как пользователю для упрощения работы в Корел. А то иногда зашиваюсь.
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311866
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ctrl+G
Появится окошко Immediate Window, где можно непосредственно выполнять команды VBA
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311868
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался. В сообщении The_Prist закралась ошибка. Надо было написать FullFileName , а не FileName .
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311872
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NemoSUNРазобрался. В сообщении The_Prist закралась ошибка. Надо было написать FullFileName , а не FileName .Я ж говорю - надо убрать On Error Resume Next - иначе с каждой мелочью по полдня разбираться будешь
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311893
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProЯ ж говорю - надо убрать On Error Resume Next - иначе с каждой мелочью по полдня разбираться будешь

Где его искать ?
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311935
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NemoSUNГде его искать ?Вам виднееNemoSUNПишу скрипт
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39311936
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NemoSUN FullFileName , а не FileName я предлагал не FileName, а FullName :)
Вероятно в кореле это свойство просто иначе называется.
NemoSUNГде его искать ?
В коде. Нажмите Ctrl+F, укажите Current Project и в поле Find What напишите: On Error Resume Next.
...
Рейтинг: 0 / 0
Не выводит имя открытого документа
    #39312273
NemoSUN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Pristя предлагал не FileName, а FullName :)

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


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