我有一些我已经入侵过的代码,并且是一个更大的脚本的一部分,我正在慢慢地做我想做的事情,但同时也理解它在做什么,但我遇到了一个字符串的问题并将内容输出到单独的单元格
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。
任何帮助都得到了极大的欢迎和赞赏!
答案 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)