Есть ли аргумент для copyfile, который изменит скрытое свойство? - PullRequest
0 голосов
/ 16 мая 2019

У меня есть база данных, которая записывает данные в скопированный шаблон Excel.Шаблон скрыт, чтобы конечный пользователь не вмешивался в него, однако конечный результат также скрыт.Есть ли способ изменить скрытое свойство при сохранении нового файла?

В настоящее время БД копирует шаблон и переименовывает его.

fso.CopyFile "C:\Upload\Rebate_Upload_Files\Standard Form (Template) 
protected.xlsx", "C:\Upload\Rebate_Upload_Files\Rebate Contract " & 
Contract_Number & " " & Date$ & ".xlsx"

После этого он передает соответствующую таблицу исохраняет файл.

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, 
"export_table", "C:\Upload\Rebate_Upload_Files\Rebate Contract " & 
Contract_Number & " " & Date$ & ".xlsx", False, "A12:L65000"

Процесс работает нормально, за исключением того, что окончательный файл также скрыт, и я хотел бы, чтобы он был обычным файлом.

Спасибо

1 Ответ

0 голосов
/ 16 мая 2019

Не для CopyFile, который является методом FileSystemObject, но есть один для объекта File. Мы просто обновим его после завершения копирования.

Для простоты я заменил путь вывода вашего файла на строковую переменную.

originalFileName = "yourStartingFile"
copyFileName = "yourCopiedFile"

set fso.CopyFile OriginalFileName, CopyFileName
 --after copying, get file that was copied
 --set attributes value of file to 0. 0 = Normal, 2 = Hidden
f = fso.GetFile(copyFileName)
f.attributes = 0

Дополнительные сведения для дополнительной информации.

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/file-object

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/attributes-property

...