Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не выводит имя открытого документа / 20 сообщений из 20, страница 1 из 1
19.09.2016, 11:17
    #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
19.09.2016, 11:28
    #39311197
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выводит имя открытого документа
Для затравки
Код: vbnet
1.
MsgBox ThisDocument.FullFileName

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

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

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

The_PristNemoSUN,

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

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

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

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

Можно тогда попробовать CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveDocument.Name)
...
Рейтинг: 0 / 0
19.09.2016, 19:06
    #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
19.09.2016, 19:31
    #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
20.09.2016, 10:37
    #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
20.09.2016, 11:24
    #39311785
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не выводит имя открытого документа
NemoSUNто вообще окошко не выходит. При этом система не говорит о каких-либо ошибках.значит где-то стоит On Error Resume Next - чудес не бывает

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

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

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

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

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


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