Condivisione della tecnologia

Come aprire, salvare e chiudere la cartella di lavoro di Excel in VBA

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Prefazione

Questa sezione introdurrà come utilizzare il metodo VBA per aprire una cartella di lavoro di Excel, salvare e chiudere la cartella di lavoro di Excel e utilizzare rispettivamente i metodi Apri, Salva e Chiudi.


1. Utilizzare il metodo Apri per aprire la cartella di lavoro

Workbooks.Open(FileName,UpdateLinks,Sola lettura,Formato,Password,WriteResPassword,Ignora-Sola lettura consigliata,Origine,Delimitatore,Modificabile,Notifica,Convertitore,AddToMru,Locale,Caricamento corrotto)
虽参数较多,但只有FileName为必填参数,表示需要打开的工作簿文件名,关于参数说明请参考下表:

parametroillustrare
Nome del fileSono richiesti il ​​nome file della cartella di lavoro da aprire e il percorso assoluto del file.
Aggiorna i link Specifica la modalità di aggiornamento dei riferimenti esterni (collegamenti) nella cartella di lavoro.I valori possibili sono 0 o 3, che significano rispettivamente non aggiornare i riferimenti esterni all'apertura della cartella di lavoro e aggiornare i riferimenti esterni all'apertura della cartella di lavoro.
Sola letturaQuando è True, significa aprire la cartella di lavoro in modalità di sola lettura.
Formato Quando si apre un file di testo, utilizzare questo parametro per specificare il delimitatore. I valori possibili sono 1 (tabulazione), 2 (virgola), 3 (spazio), 4 (punto e virgola), 5 (nessuno), 6 (carattere personalizzato, specificato dal parametro Delimitatore)
Parola d'ordine Se per la cartella di lavoro da aprire è impostata una password di apertura, utilizzare questo parametro per fornire la password.Se è impostata una password ma questo parametro non è compilato, verrà visualizzata una finestra di dialogo che richiederà all'utente di inserire la password.
ScriviResPasswordSe la cartella di lavoro da aprire ha una password per proteggere la struttura, utilizzare questo parametro per fornire la password corrispondente.
IgnoraSololetturaConsigliatoQuando è True, significa che non vengono visualizzate le informazioni consigliate di sola lettura.
Origine Quando si apre un file di testo, utilizzare questo parametro per indicare da quale sistema operativo ha avuto origine il file, per gestire correttamente le tabelle codici e i ritorni a capo/avanzamento riga. I valori possibili sono le costanti xlMacintosh, xlWindows, xlMSDOS.
DelimitatoreQuando si apre un file di testo, se il parametro Formato è impostato su 6, utilizzare questo parametro per specificare il carattere come separatore. Se sono impostati più caratteri, per impostazione predefinita verrà utilizzato solo il primo carattere.
ModificabileSe il file da aprire è un componente aggiuntivo di Excel 4.0, quando il valore di questo parametro è True, il componente aggiuntivo è una finestra visibile, se è False o questo parametro viene ignorato, il componente aggiuntivo si apre nascosto; mode e non può essere reso visibile Questo parametro non può essere utilizzato nelle versioni 5.0 e successive.
Notificare Quando il file da aprire non può essere aperto in modalità lettura-scrittura, se il valore di questo parametro è True, il file può essere aggiunto all'elenco di notifiche file. Excel aprirà il file in modalità di sola lettura ed effettuerà il polling dell'elenco di notifiche dei file, avvisando l'utente quando il file sarà disponibile.Se il valore di questo parametro è False o omesso, non viene richiesta alcuna notifica e gli eventuali file non disponibili non possono essere aperti.
Convertitore Il numero di indice del convertitore di file che ha tentato di utilizzare per primo all'apertura del file. Se il file non viene riconosciuto dal convertitore di file specificato, provare a utilizzare un altro convertitore.
Aggiungi a Mru Se il valore di questo parametro è True, il lavoro non verrà aggiunto all'elenco dei file utilizzati di recente. L'impostazione predefinita è False
LocaleSe il valore di questo parametro è True, il file verrà salvato nella lingua di Excel (comprese le impostazioni del pannello di controllo). Il valore predefinito è False, il file verrà salvato nella lingua di VBA.
Carico Corrotto I valori disponibili sono le costanti xlNormalLoad, xlRepairFile e xlExtractData, che indicano rispettivamente l'apertura normale della cartella di lavoro, il tentativo di riparare la cartella di lavoro e il tentativo di ripristinare i dati nella cartella di lavoro. L'impostazione predefinita è xlNormalLoad
Esempio 1: aprire una cartella di lavoro di Excel
Sub OpenExcelFile()
    
    Dim strFileName As String
    ' 定义文件名称
    strFileName = "D:VBAEmployee.xlsx"
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFileName
    
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Esempio 2: aprire la cartella di lavoro di Excel nel percorso corrente
Sub OpenExcelFile()

    Dim strFileName As String
    Dim strFilePath
    
    ' 定义文件名称
    strFileName = "Employee.xlsx"
    ' 获取当前路径
    strFilePath = ThisWorkbook.Path
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFilePath & "" & strFileName
    
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2. Salvare e chiudere il file

Quando si apre una cartella di lavoro di Excel e si utilizza il suo contenuto, quindi si desidera salvarla e chiuderla, è possibile utilizzare i metodi Salva e Chiudi.

Esempio: Dopo aver aperto il file Employee.xlsx nel percorso corrente, dopo aver scritto la data corrente nella cella A1 del Foglio1, salvare e chiudere il file Employee.xlsx Il codice completo è il seguente:
Sub WriteCurrentDate()
    
    ' 申明变量
    Dim strFileName As String
    Dim strFilePath
    Dim ws As Worksheet
    Dim wb As Workbook
    
    ' 定义文件名称
    strFileName = "Employee.xlsx"
    ' 获取当前路径
    strFilePath = ThisWorkbook.Path
    
    ' 打开工作簿
    Workbooks.Open Filename:=strFilePath & "" & strFileName
    
    ' 定义sheet1工作表对象以及当前打开的工作簿对象
    Set ws = ActiveWorkbook.Worksheets("Sheet1")
    Set wb = ActiveWorkbook
    
    ' A1单元格写入当前日期
    ws.Range("A1").Value = Date
    
    ' 保存并关闭文件
    wb.Save
    wb.Close
    
End Sub
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28