VB如何解析字符串内容

时间:2014-02-28 11:34:01

标签: vb.net windows excel

我有一些我已经入侵过的代码,并且是一个更大的脚本的一部分,我正在慢慢地做我想做的事情,但同时也理解它在做什么,但我遇到了一个字符串的问题并将内容输出到单独的单元格

DIM objWMIService, objItem, colItems
DIM strDriveType, strDiskSize, csv

SET objWMIService = GETOBJECT("winmgmts:\\" & strComputer & "\root\cimv2")
SET colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk WHERE DriveType=3")
csv = "Drive, Size (GB), Used (GB), Free (GB), Free(%)" & vbcrlf
FOR EACH objItem in colItems

DIM pctFreeSpace,strFreeSpace,strusedSpace

pctFreeSpace = INT((objItem.FreeSpace / objItem.Size) * 1000)/10
strDiskSize = Int(objItem.Size /1073741824) & "Gb"
strFreeSpace = Int(objItem.FreeSpace /1073741824) & "Gb"
strUsedSpace = Int((objItem.Size-objItem.FreeSpace)/1073741824) & "Gb"
csv = csv & objItem.Name & vbtab & strDiskSize & vbtab & strUsedSpace & vbTab &    strFreeSpace & vbtab & pctFreeSpace & vbcrlf

objXLApp.Sheets("OA Summary").Range("D7").Value = (CSV) 

'objXLApp.Sheets("OA Summary").Range("D7").Value = (objItem.Name)
'objXLApp.Sheets("OA Summary").Range("E7").Value = (strDiskSize)
'objXLApp.Sheets("OA Summary").Range("F7").Value = (strUsedSpace)
'objXLApp.Sheets("OA Summary").Range("G7").Value = (strFreeSpace)
'objXLApp.Sheets("OA Summary").Range("H7").Value = (pctFreeSpace)

直接指向Txt文件时的“CSV”值,并且预期效果很好。

Drive   Size    Used    Free    Free(%)
C:          97Gb    67Gb    29Gb    30.7
D:          367Gb   312Gb   55Gb    15
E:          465Gb   256Gb   209Gb   44.9
R:          149Gb   8Gb     141Gb   94.2

但是当我尝试将其放入excel时,我无法将单元格中的上述单元格分开。如果我取消注释objXLApp张,我只会得到一行,在我的例子中是R Drive。

任何帮助都得到了极大的欢迎和赞赏!

1 个答案:

答案 0 :(得分:0)

当您取消注册存款的代码时,您需要使用以下内容向下移动行:

Dim I As Long
I = 6
For Each objItem In colItems
I = I + 1
objXLApp.Sheets("OA Summary").Range("D" & I).Value = (objItem.Name)