Добрый день! Прошу помочь, пожалуйста покажите пример, как передать данные из Excel в текстовый файл с заменой. Все что удалось осмыслить из справки, окончательно меня запутало. С екселем первый раз столкнулся, и к своему сожалению обнаружил, что функции в новой версии Autoit изменились, на форуме много примеров применительно только к ранним версиям.
Ниже пример от inververs. Тут извлекаются все значения из A1, но это не совсем то, что нужно. Я пытаюсь построчно заменить "Текст_А"..."Текст_Д", расположенный между тегами в текстовом фале на аналогичные строки из экселя, которые расположены в одной ячейке А1.
Ниже пример от inververs. Тут извлекаются все значения из A1, но это не совсем то, что нужно. Я пытаюсь построчно заменить "Текст_А"..."Текст_Д", расположенный между тегами в текстовом фале на аналогичные строки из экселя, которые расположены в одной ячейке А1.
Код:
#include <Excel.au3>
Global $sFileXls = @ScriptDir & '\file.xls'
Global $sFileTxt = @ScriptDir & '\file.txt'
If Not FileExists($sFileXls) Then
Exit MsgBox(16, 'Файл не найден', $sFileXls)
EndIf
If Not FileExists($sFileTxt) Then
Exit MsgBox(16, 'Файл не найден', $sFileTxt)
EndIf
Local $oExcel = _Excel_Open(False, False)
Local $oBook = _Excel_BookOpen($oExcel, $sFileXls)
Local $sA1Cell = _Excel_RangeRead($oBook, Default, "A1")
_Excel_Close($oExcel)
Local $sDataTxt = FileRead($sFileTxt)
Local $sDataNew = StringRegExpReplace($sDataTxt, '(*UCP)(?i)\QВопрос\E', $sA1Cell)
If @extended Then
ConsoleWrite('Сделано замен: ' & @extended & @CRLF) ;Эту строку можно удалить. Она для отладки
Local $hFile = FileOpen($sFileTxt, 2)
FileWrite($hFile, $sDataNew)
FileClose($hFile)
EndIf