Здраствуйте, небольшая проблема. Сам я новичек и мне надо чтобы текстовые файлы по кнопке на форме открывались блокнотом.
Вместо этого они выводятся на табло Предприятия. Вот код.
Процедура ОткрытьОшибку(Параметр)
перем стр;
Если Параметр="открыть" Тогда
ИмяФайла="";
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
Сообщить(ИмяФайла);
ЗагрузитьВнешнююКомпоненту("V7PLUS.DLL");
Т=СоздатьОбъект("AddIn.V7TextFile");
Т.ОткрытьФайл (КаталогФО+ИмяФайла,0);
Т.ВыбратьСтроки();
Пока Т.ПрочитатьСтроку(Стр)=1 Цикл
Сообщить(Стр);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Вместо этого они выводятся на табло Предприятия. Вот код.
Процедура ОткрытьОшибку(Параметр)
перем стр;
Если Параметр="открыть" Тогда
ИмяФайла="";
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
Сообщить(ИмяФайла);
ЗагрузитьВнешнююКомпоненту("V7PLUS.DLL");
Т=СоздатьОбъект("AddIn.V7TextFile");
Т.ОткрытьФайл (КаталогФО+ИмяФайла,0);
Т.ВыбратьСтроки();
Пока Т.ПрочитатьСтроку(Стр)=1 Цикл
Сообщить(Стр);
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
По теме из базы знаний
- Загрузка номенклатуры из CSV (управляемые формы)
- UsersLog.exe. Система полной отчетности об использовании рабочего времени пользователями. 1С, Word, Excel, Кино, Интернет, Одноклассники, ВКонтакте и т.д. Не только 1С, но и все активные окна Windows посекундно!
- Создание телеграм бота с гугл авторизацией, обратными вызовами и уведомлениями об обновлении через сервер-маршрутизатор
- Вебхук. Путь Телеграма
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
на форуме нашел статью как открыть блокнот. Но в том то и дело что он открывает только блокнот - без файла.
___________________________________
Процедура ЗапуститьБлокнот()
WSShel = СоздатьОбъект("WScript.Shell");
WSShel.Run("notepad.exe");
КонецПроцедуры
______________________________________
а мне надо чтобы блокнотом открылся конкретный файл из диалога выбора файлов.
может это как то можно модифицировать?
___________________________________
Процедура ЗапуститьБлокнот()
WSShel = СоздатьОбъект("WScript.Shell");
WSShel.Run("notepad.exe");
КонецПроцедуры
______________________________________
а мне надо чтобы блокнотом открылся конкретный файл из диалога выбора файлов.
может это как то можно модифицировать?
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
ЗапуститьПриложение(КаталогФО + ИмяФайла)
КонецЕсли;
ЗапуститьПриложение(КаталогФО + ИмяФайла)
КонецЕсли;
Процедура Выполнить()
Перем ИмяФайла,КаталогФО;
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
ЗапуститьПриложение(КаталогФО + ИмяФайла)
КонецЕсли;
КонецПроцедуры
Вообще в вашей операционной системе файлы с расширением TXT по умолчанию открываются блокнотом? Если да, по процедура правильная
Перем ИмяФайла,КаталогФО;
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
ЗапуститьПриложение(КаталогФО + ИмяФайла)
КонецЕсли;
КонецПроцедуры
Вообще в вашей операционной системе файлы с расширением TXT по умолчанию открываются блокнотом? Если да, по процедура правильная
(5) Вот так будет самое надежное
Процедура Сформировать()
Перем ИмяФайла,Каталог;
Если ФС.ВыбратьФайл(0,ИмяФайла,Каталог,,"Все файлы (*.txt) |*.txt")=1 Тогда
Команда="notepad.exe "+Каталог+ИмяФайла;
ЗапуститьПриложение(Команда);
КонецЕсли;
КонецПроцедуры
Таким образом можно что хошь чем хошь открывать, если программа поддерживает параметр с именем файла
Процедура Сформировать()
Перем ИмяФайла,Каталог;
Если ФС.ВыбратьФайл(0,ИмяФайла,Каталог,,"Все файлы (*.txt) |*.txt")=1 Тогда
Команда="notepad.exe "+Каталог+ИмяФайла;
ЗапуститьПриложение(Команда);
КонецЕсли;
КонецПроцедуры
Таким образом можно что хошь чем хошь открывать, если программа поддерживает параметр с именем файла
Код |
---|
Процедура Выполнить()
Перем ИмяФайла,КаталогФО;
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
ЗапуститьПриложение("notepad " + КаталогФО + ИмяФайла);
КонецЕсли;
КонецПроцедуры
Показать полностью |
извините был занят
Сергей, потом заработало, но в блокноте открыл коряво - открыл средствами 1с
Процедура ОткрытьОшибку(Параметр)
перем стр;
Если Параметр="открыть" Тогда
ИмяФайла="";
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
Тк=СоздатьОбъект("Текст");
Тк.Открыть(КаталогФО+ИмяФайла);
Тк.Показать(ИмяФайла,ИмяФайла)
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Сергей, потом заработало, но в блокноте открыл коряво - открыл средствами 1с
Процедура ОткрытьОшибку(Параметр)
перем стр;
Если Параметр="открыть" Тогда
ИмяФайла="";
Если ФС.ВыбратьФайл(0,ИмяФайла,КаталогФО,,"Все файлы (*.txt) |*.txt")=1 Тогда
Тк=СоздатьОбъект("Текст");
Тк.Открыть(КаталогФО+ИмяФайла);
Тк.Показать(ИмяФайла,ИмяФайла)
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот