文章編號: 252607 - 上次校閱: 2003年5月12日 - 版次: 2.0

PRB: CopyFile 方法不適用於印表機 DeviceName 以空格在 NT

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

當檔案複製到網路印表機,與 CopyFile 方法 FileSystemObject] 物件的印表機 DeviceName 包含空格會發生下列錯誤:
執行階段錯誤 52: 不正確的檔案名稱或編號

解決方案

如果您在伺服器上有系統管理特殊權限,請重新命名印表機],以便在 DeviceName 是不包含空格,在其中的一個字。

其他相關資訊

Microsoft 建議該您 不這樣做 有印表機 DeviceNames 中的空格,因為可能會造成其他問題。

雖說是逐步範例

  1. 在 Microsoft NT 4.0 系統上新增具有名稱包含空格的印表機。
  2. 建立文字檔案,例如 test.txt [C:\] 資料夾中。
  3. 在 Visual Basic 中啟動新的標準 EXE 專案。預設會建立 Form1。
  4. 從 [專案] 功能表選取 [參考],檢查 Microsoft 指令碼執行階段,然後按一下 [確定]
  5. 命令按鈕 加入至表單。
  6. 將下列程式碼貼入 Form1 的程式碼視窗中:
    Private Sub Command1_Click()
    Dim FSO as FileSystemObject
    set FSO = new FileSystemObject
    
    ' To print on WinNT
    FSO.CopyFile "C:\test.txt", Printer.DeviceName
    
    ' If the devicename is like this: \\servername\HPLaser400, the file prints
    ' If the devicename is \\servername\HP Laser 400, the above mentioned 
    ' run-time error occurs
    
    ' To print on Win9x
    ' FSO.CopyFile "C:\test.txt",Printer.Port
    End Sub
    					
  7. 按下 F5 鍵以執行該專案,然後按一下 指令按鈕 上。
  8. 如果 [DeviceName 是不包含空格的一個字,會列印檔案 test.txt
  9. 或者,您可以使用 API 來略過的印表機驅動程式,並將資料傳送到印表機。這將被記載 Q154078 < 參考 > 一節中列出下面的文件中。

?考

154078? (http://support.microsoft.com/kb/154078/EN-US/ ) HOWTO: 將未經處理的資料傳送到印表機,使用 Win32 API,從 VB

這篇文章中的資訊適用於:
  • Microsoft Visual Basic 5.0 Learning Edition?應用於:
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
  • Microsoft Visual Basic 6.0 Learning Edition?應用於:
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
  • Microsoft Visual Basic 5.0 Professional Edition?應用於:
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
  • Microsoft Visual Basic 6.0 Professional Edition?應用於:
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
  • Microsoft Visual Basic 5.0 Enterprise Edition?應用於:
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0?應用於:
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
關鍵字:?
kbmt kbprb kbprint KB252607 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:252607? (http://support.microsoft.com/kb/252607/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。