Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: LogicDT от 01 Декабря 2025, 11:39:27

Название: Открытие файла
Отправлено: LogicDT от 01 Декабря 2025, 11:39:27
Необходимо открывать эксель файл с именем "CS.xlsx" на любом ПК без изменения пути в скрипте.
Пытался реализовать считывание имя пользователя и автоматическое подставление в путь файла.
Код: (delphi)
var
   UserName: string;
begin
  UserName := GetUserName;
  RunApplication(GetClientName, 'excel.exe', 'file:///C:\Users\' + UserName + '\Documents\Simple-Scada%202%20(time-demo)\Projects\Расчет\User%20files\CS.xlsx');
end.
Название: Re: Открытие файла
Отправлено: Simple-Scada от 01 Декабря 2025, 12:16:14
Здравствуйте.

Функция GetUserName возвращает имя активного пользователя из проекта. Она не имеет никакого отношения к пользователям Windows, которые Вам нужны в пути.
См. функцию GetProjectPath (https://simple-scada.com/help/script/getprojectpath.html), или GetUserFilesPath (https://simple-scada.com/help/script/getuserfilespath.html).
Код: (delphi)
begin
  RunApplication(GetClientName, 'excel.exe', 'file:///' + GetUserFilesPath + 'CS.xlsx');
end.
Название: Re: Открытие файла
Отправлено: LogicDT от 01 Декабря 2025, 12:56:28
При открытии файла, эксель выдает ошибку.
Похоже не может прочитать путь к файлу, если есть пробелы в названии. Пытается открыть новый путь, после каждого пробела.
Название: Re: Открытие файла
Отправлено: LogicDT от 01 Декабря 2025, 13:05:06
Разобрался. Путь файла нужно взять в "".