Отключение защищенного просмотра в Excel для повышения производительности открытия документов Excel с диска SmartVault

Функция защищенного просмотра Excel открывает документы в режиме только для чтения и отключает функции редактирования. Есть несколько причин, по которым документы открываются в режиме только для чтения. Документы, открытые с SmartVault Drive, считаются «файлами из Интернета» и по умолчанию открываются в защищенном режиме.

Однако эта функция замедляет открытие документов Excel с SmartVault Drive. Отключение защищенного режима для файлов, поступающих из Интернета, увеличит скорость открытия файлов Excel с диска SmartVault.

Чтобы отключить защищенный просмотр в Excel, выполните действия, описанные в этом разделе. Эти шаги можно применить для Excel 2010, 2013 и 2016.

1. Нажмите Файл > Параметры .

2. Нажмите Центр управления безопасностью > Настройки центра управления безопасностью > Защищенный просмотр .

3. Снимите флажок Включить защищенный просмотр для файлов из Интернета .



Удалять недопустимые символы при сохранении книги Excel VBA

этот код в основном переформатирует файл xls и сохраняет его как xlsx. однако он использует G2 и H2 для получения имени файла для вновь отформатированного файла. Это означает, что в имени файла не может быть определенных символов. Я добавил фрагмент кода для замены этих символов (

  'Удалить/заменить недопустимые символы имени файла WkbName = Range ("H2") MyArray = Array (" "," | ","/"," * ","  ",". ","? "," "" ") Для X = LBound (MyArray) в UBound (MyArray) WkbName = Replace (WkbName,  MyArray (X), "_", 1) Следующий X 'MsgBox WkbName' отображает имя файла с удаленными недопустимыми символами ActiveWorkbook.SaveAs Filename: = _ WBPath & " BOM_" & Range ("G2") & "_" & WkbName  & ".xlsx" _, FileFormat: = xlOpenXMLWorkbook, CreateBackup: = False  

) activeworkbook.saves, как и в том месте, куда меня всегда переводит отладчик

Я получаю сообщение об ошибке, в котором говорится, что всегда есть недопустимый символ, даже если это обычный текст в h2 , я что-то упускаю?

полный код ниже

  Sub FormatBOMExport () '' FormatBOMExportPnV Macro'Application.ScreenUpdating = FalseApplication.DisplayAlerts = False 'удалить лишние листыSheets (Array ("Sheet2", "Sheet3")). Выберите ActiveWindow.  SelectedSheets.De  leteWBPath = Application.ActiveWorkbook.PathOrgFile = Application.ActiveWorkbook.FullName Range ("B1"). Выбрать с выделением .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = True .Orientation = 0.  Ложь. ReadingOrder = xlContext .MergeCells = False End With Columns ("A: M"). Выберите Selection.Replace What: = "" & Chr (10) & "", Replacement: = "", LookAt: = xlPart, _ SearchOrder:  = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False Selection.Columns.AutoFit Selection.Rows.AutoFit Columns ("J: J"). Выбрать с выделением .HorizontalAlignment = xlGeneral .VerticalAlignment.  = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With 'Columns ("J: J"). Выберите' Columns ("J: J"). ColumnWidth  = 100 'Столбцы Selection.Rows.AutoFit ("G: G"). Целый столбец.AutoFit Range ("G2"). Выберите' Удалить/заменить недопустимые символы имени файла WkbName = Range ("H2") MyArray = Array (" "," | ","/"," * ","  ",". ","? "," "" ") Для X = LBound (MyArray) To UBound (MyArray) WkbName = Replace  (WkbName, MyArray (X), "_", 1) Следующий X 'MsgBox WkbName' отображает имя файла с удаленными недопустимыми символами ActiveWorkbook.SaveAs Имя файла: = _ WB  Путь & " BOM_" & Range ("G2") & "_" & WkbName & ".xlsx" _, FileFormat: = xlOpenXMLWorkbook, CreateBackup: = False Если Len (Dir $ (OrgFile))> 0, то Kill OrgFile End  Если Application.DisplayAlerts = TrueApplication.ScreenUpdating = True 'MsgBox OrgFile & "был удален и сохранен как" & "BOM_" & Range ("G2") & "_" & Range ("H2") & ".xlsx" End  Sub`  

прошу прощения за мои заметки и случайную хрень в коде. Я всегда чищу его перед тем, как передать другим


Потому что в имени файла может быть больше недопустимых символов. Ваш подход правильный, но это не полный список недопустимых символов, которые нужно удалить или заменить в имени файла перед его сохранением. Например, эти символы отсутствуют в массиве вашего кода ->: &. Однако рекомендуется также не использовать в имени файла другие разрешенные специальные символы.

Ниже я предоставляю функцию, которая возвращает безопасную строку, которую можно использовать для создания имени файла перед сохранением.

  Функция ReplaceIllegalCharacters (strIn As String, strChar As String) As String Dim strSpecialChars As String Dim i As Long strSpecialChars = "~" "#% & *: ? {|}/  [] "& Chr (10) & Chr (13) For i = 1 To Len (strSpecialChars) strIn = Replace (strIn, Mid $ (strSpecialChars, i, 1), strChar) Next ReplaceIllegalCharacters = strIn End Function   

В частности, в вашем коде замените строку ActiveWorkbook.SaveAs следующей строкой:

  ActiveWorkbook.SaveAs Filename: = _ WBPath & "  BOM_ "& Диапазон (" G2 "). Value2 & "_" & ReplaceIllegalCharacters (Range ("H2"). Value2, "_") & ".xlsx" _, FileFormat: = xlOpenXMLWorkbook, CreateBackup: = False  

Оцените статью
clickpad.ru
Добавить комментарий