文章編號: 152288 - 上次校閱: 2006年10月11日 - 版次: 2.3

判斷陣列變數中的維度數目

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

在此頁中

全部展開 | 全部摺疊

結論

有一個陣列變數 Microsoft Visual Basic 中傳回的維度數目,以應用程式沒有內建函式。最簡單的方法是維度中執行迴圈,並使用錯誤處理常式傳回的維度數目。

其他相關資訊

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。判斷應用程式陣列變數的 Visual Basic 中的維度數目最簡單的方法是取得常式,以嘗試為每個維度的任務。它會嘗試執行工作至不存在的維度,將會傳回錯誤。錯誤處理常式可以用於傳回的維度工作上次成功。若要測試維度的一個方法是使用 LBound 函數。LBound 函數使用兩個引數、 陣列變數和特定的維度,然後傳回該維度的下限。使用這個函式上不存在的維度會傳回錯誤。結合錯誤處理常式這可用來決定維度的數目。

範例的 Visual Basic 事件程序

這個常式會測試以測試每個維度 LBound 命名 Xarray 陣列。使用 For...Next 迴圈,常式循環到 60000,為止的可能陣列維度數目,直到產生錯誤。 然後錯誤處理常式會採用磁碟,失敗迴圈計數器步驟減去一個 (因為前一個是最後一個沒有錯誤),並在訊息方塊中顯示結果。
   Sub NumberOfDimensions()

      'Dimensions Xarray as an array.
      Dim Xarray(1 to 10, 5 to 20, 256 to 300, 8, -5 to 0)

      'Sets up the error handler.
      On Error GoTo FinalDimension

      'Visual Basic for Applications arrays can have up to 60000
      'dimensions; this allows for that.
      For DimNum = 1 to 60000

         'It is necessary to do something with the LBound to force it
         'to generate an error.
         ErrorCheck = LBound(Xarray, DimNum)

      Next DimNum

      Exit Sub

      ' The error routine.
   FinalDimension:

      MsgBox "The array has " & DimNum - 1 & " dimensions"

   End Sub
				

?考

取得更多資訊有關取得應用程式的說明與 Visual Basic 請參閱下列的 「 Microsoft 知識庫 」 中的文件:
163435? (http://support.microsoft.com/kb/163435/EN-US/ ) VBA: 應用程式的 Visual Basic 程式設計資源

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