Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Открытие файла  (Прочитано 9892 раз)

LogicDT

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Открытие файла
« : 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.
« Изменён: 01 Декабря 2025, 12:16:27 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3215
    • Просмотр профиля
    • Simple-Scada
Re: Открытие файла
« Ответ #1 : 01 Декабря 2025, 12:16:14 »
Здравствуйте.

Функция GetUserName возвращает имя активного пользователя из проекта. Она не имеет никакого отношения к пользователям Windows, которые Вам нужны в пути.
См. функцию GetProjectPath, или GetUserFilesPath.
Код: (delphi)
begin
  RunApplication(GetClientName, 'excel.exe', 'file:///' + GetUserFilesPath + 'CS.xlsx');
end.
« Изменён: 01 Декабря 2025, 12:30:46 от Simple-Scada »

LogicDT

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Открытие файла
« Ответ #2 : 01 Декабря 2025, 12:56:28 »
При открытии файла, эксель выдает ошибку.
Похоже не может прочитать путь к файлу, если есть пробелы в названии. Пытается открыть новый путь, после каждого пробела.

LogicDT

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Открытие файла
« Ответ #3 : 01 Декабря 2025, 13:05:06 »
Разобрался. Путь файла нужно взять в "".