Board logo

標題: ENVIRON环境参数 [打印本頁]

作者: wqfzqgk    時間: 2010-7-5 16:06     標題: ENVIRON环境参数

On Error Resume Next
Dim arr(), i As Integer
i = 1
Do
ReDim Preserve arr(1 To 2, 1 To i)
arr(1, i) = Split(environ(i), "=")(0)
arr(2, i) = Split(environ(i), "=")(1)
i = i + 1
Loop Until environ(i) = ""
Range("a1").Resize(UBound(arr, 2), 2) = Application.WorksheetFunction.Transpose(arr)
作者: GBKEE    時間: 2010-7-6 20:05

回復 1# wqfzqgk
你提供的程式碼中
當 i=22 時   Split(environ(i), "=")(1) 的字元數為294 >255 在陣列中無法轉置
導致    Range("a1").Resize(UBound(arr, 2), 2) = Application.WorksheetFunction.Transpose(arr)
產生錯誤值 你用 On Error Resume Next 也無法消除
如用 Range("a1").Resize( 2, UBound(arr, 2)) = arr  不使用轉置 沒有錯誤出現
  1. Sub Ex()
  2.     Dim i As Integer
  3.     i = 1
  4.     Do
  5.         Cells(i, 1) = Split(Environ(i), "=")(0)
  6.         Cells(i, 2) = Split(Environ(i), "=")(1)
  7.         i = i + 1
  8.     Loop Until Environ(i) = ""
  9. End Sub
複製代碼

作者: wqfzqgk    時間: 2010-7-6 20:30

看来是这个函数的事




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)