1

Тема: AHK: Сохранение .xlsx

Добрый день! Подскажите пож-та, возможно ли после открытия экселевского файла, и выполнения операций кода в конце происходило "сохранить как" в туже директорию, откуда он открывался и с тем же именем+дополнение, например. файл был - "....... 01 апреля.xlsx", а после сохранялся в новый файл в туже папку "....... 01 апреля_проверено.xlsx"

Шапка кода:

SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

$^1::
Setkeydelay, 35

Loginname = 
Password = 
ie := ComObjCreate("InternetExplorer.Application")
ie.Visible := true
ie.Navigate(".....")
while ie.readystate <> 4
	continue
ie.document.getElementsByTagName("input")[0].value := Loginname
ie.document.getElementsByTagName("input")[1].value := Password
ie.document.getElementsByTagName("input")[2].click()
Sleep 2000
ie.document.getElementsByTagName("a")[0].click()


; Выбор экселевскгого файла для проверки
FileSelectFile, Path, 3, , Open Excel File, Excel File (*.xls; *.xlsx)
if Path =
	ExitApp
Xl := ComObjCreate("Excel.Application")
Xl.Workbooks.Open(Path) ;open an existing file
Xl.Visible := True
if Errorlevel
{
	MsgBox, % "Error opening excel file! Exiting..."
	ExitApp
}

MsgBox, % "Сделано!"
ExitApp

2

Re: AHK: Сохранение .xlsx

https://msdn.microsoft.com/en-us/vba/ex … ject-excel

3 (изменено: svoboden, 2018-05-08 01:56:46)

Re: AHK: Сохранение .xlsx

Что за выполнения операций кода. Сохранять текущий файл можно так:

F12::
xl := ComObjActive("Excel.Application")
path := xl.ActiveWorkbook.path
name := xl.ActiveWorkbook.name
Str := RegExReplace(name, ".xlsx")
file := path "\" Str "_проверено" ".xlsx"
xl.ActiveWorkbook.SaveAs(file, 51)
return

4

Re: AHK: Сохранение .xlsx

svoboden

name := ".xlsx.xlsx"
msgbox % Str := RegExReplace(name, ".xlsx")

5 (изменено: svoboden, 2018-05-08 02:17:34)

Re: AHK: Сохранение .xlsx

Malcev,  tак я не спец в регулярных выражения. Можно через StringReplace.

6

Re: AHK: Сохранение .xlsx

svoboden пишет:

Можно через StringReplace.

И как?

7

Re: AHK: Сохранение .xlsx

Malcev пишет:

И как?

Это как в имени файла может присутствовать расширение этого файла, да и еще в точкой в начале.

8 (изменено: Malcev, 2018-05-08 02:43:59)

Re: AHK: Сохранение .xlsx

Ответ на свой вопрос вы можете получить загуглив "допустимые символы в имени файлов".
Кстати в вашей регулярке и точка-то в названии файла необязательно должна присутствовать:

name := "axlsxaxlsx"
msgbox % Str := RegExReplace(name, ".xlsx")

9

Re: AHK: Сохранение .xlsx

svoboden

СПС Большое, то, что нужно!