И послал он свой комп на три кнопки. [Ctrl/Alt/Del]
procedure OpenExcelBook;
var
VExcel: Variant;
begintry//проверяем, нет ли запущенного Excel
VExcel := GetActiveOleObject('Excel.Application');
except//если нет, то запускаемon EOLESysError do
VExcel := CreateOleObject('Excel.Application');
end;
with VExcel dobegin
Visible := True;
//Открывать Excel на полный экран
WindowState := -4137;
//не показывать предупреждающие сообщения
VExcel.DisplayAlerts := False;
//Открываем рабочую книгу
WorkBooks.Open('C:\Temp\MyBook.xls');
//Становимся на первый лист
WorkSheets[1].Activate;
end;
end;
Программный код на Delphi для открытия файла Excel!
Вот разбивка того, что код делает:
Он пытается получить текущий активный экземпляр Excel с помощью GetActiveOleObject('Excel.Application'). Если это не удается, он поймает исключение и создаст новый экземпляр Excel с помощью CreateOleObject('Excel.Application').
Код настраивает различные свойства приложения Excel:
Visible := True: делает Excel видимым на экране.
WindowState := -4137: устанавливает состояние окна в "максимизированное" (полноэкранный).
DisplayAlerts := False: отключает предупреждения в Excel.
Он открывает конкретный файл Excel с помощью WorkBooks.Open('C:\Temp\MyBook.xls'). Обратите внимание, что это жестко закодировано, поэтому вам нужно обновить путь и имя файла, если необходимо.
Наконец, он активирует первую страницу (WorkSheets[1].Activate) в открытом файле.
Если вы хотите улучшить этот код, есть несколько предложений:
Вместо жесткого закодирования пути и имени файлаconsider использовать строковый переменный или файл конфигурации для хранения этих значений.
Вы можете также использовать Excel.Application.Quit вместо DisplayAlerts := False, чтобы избежать ненужных запросов при закрытии Excel.
Если вы работаете с несколькими файлами, consider using WorkBooks.Add вместо жесткого закодирования имени файла.
Вот обновленная версия с некоторыми минимальными улучшениями:
procedureOpenExcelBook(constFileName:string);varVExcel:Variant;begintry// Get or create Excel instanceVExcel:=GetActiveOleObject('Excel.Application');ifVExcel=nilthenVExcel:=CreateOleObject('Excel.Application');// Set Excel propertieswithVExceldobeginVisible:=True;WindowState:=-4137;DisplayAlerts:=False;end;// Open workbookWorkBooks.Open(FileName);// Activate first worksheetWorkSheets[1].Activate;exceptonEOLESysErrordo// Handle error, e.g., display an error messageend;end;
Обратите внимание, что я также добавил параметр const для имени файла, чтобы сделать его более гибким и удобным в использовании.
В статье описывается процедура открытия Excel-евского файла с помощью кода на языке Delphi, которая проверяет запущено ли приложение Excel, и если нет, то запускает его.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.