2017-09-15 121 views
-3

請找我下面的代碼在那裏我得到許可被拒絕錯誤VBA打開輸出許可被拒絕

Sub VBA() 

Dim fso As Object 
Set fso = CreateObject("Scripting.FileSystemObject") 

i = "info" 
Set ts = fso.CreateTextFile("z:\" & i & ".txt", True) 

File = "z:\" & i & ".txt" 
n = FreeFile() 
Open File For Output As #n '''HERE I AM GETTING ERROR 
Print #n, s 
End Sub 
+1

你打開一個文件,FSO。然後你試圖用內置的VBA工具打開同一個文件。不是兩者都可以使用。 – GSerg

+0

@GSerg請指導我如何打開並使用FSO打印。 – sagar

+0

我不認爲'FileSystemObject'有助於打印,但即使它確實如此,關於如何使用它打印的「指南」幾乎肯定是過於寬泛,無法在主題上進行打印。嘗試編寫一些代碼,以及何時/如果您遇到特定問題會引發另一個問題。 (@ GSerg的評論回答了你目前遇到的問題。) – YowE3K

回答

0

您可以使用下面的函數,並傳遞任何數量的參數給它。

Public Sub WriteToTextFile(ByVal Filename As String, ParamArray args() As Variant) 
    On Error GoTo ErrProc 

    Dim hFileDest As Integer 
     hFileDest = FreeFile 
    Open Filename For Append As #hFileDest 

    Dim idx As Integer 
    For idx = LBound(args) To UBound(args) 
     Print #hFileDest, args(idx) 
    Next idx 

Leave: 
    On Error Resume Next 
    Close #hFileDest 
    On Error GoTo 0 
    Exit Sub 

ErrProc: 
    MsgBox Err.Description, vbCritical 
    Resume Leave 
End Sub 

要叫它:

Sub T() 
    Dim path_ As String 
     path_ = "D:\Test.txt" 

    WriteToTextFile path_, "One", "Two", "Three", "Four", "Five" 
End Sub 

輸出:

One 
Two 
Three 
Four 
Five 
+0

我已經在** ts.WriteLine s **的幫助下解決了上述錯誤 – sagar

相關問題