简体   繁体   中英

VB: Highlight Excel cell in worksheet

I was wondering if it was possible to create a vbs file to highlight a cell in an excel workbook.

I have an excel worksheet with multiple computer host-names, I also run a script in batch that pings each host-name in a text document. I want to call the vbs file to highlight the cell in excel if the ping result was successful. Is this possible?

Thanks!

Dimitri

There are plenty of ways to do this, but I must ask why you're using a batch script and a text file to ping the hostnames when you can do that right in Excel?

There are two ways to do this... one is a bit more complex and correct and the other is quick and dirty. Frankly, I recommend the quick and dirty.

Correct Way: Declare the ReadConsole & WriteConsole methods from your Windows kernel32.dll and utilize them to get the results of your ping. It's described well here:

http://visualbasic.about.com/od/learnvb6/l/bldykvb6dosa.htm

Q&D Way: Use the built-in Shell() function in VBA and pipe the output of the ping to a text file. Parse said text file and delete it when you're done.

eg

for each currCell in hostnameRange
   ' Ping each hostname and pipe the results to a file
   shell "ping " + currCell.value + " >> ping_result.txt"
next currCell

inFile = FreeFile()
Open "ping_result.txt" for Input as #inFile

fileBuffer = Input$(LOF(inFile ), inFile) ' Open and read the file to a buffer

for each currCell in hostnameRange
   ' Search for ping failures in the buffer
   if instr(1, fileBuffer, "could not find host " + currCell.value) = 0 then
        debug.print "Ping successful."
   end if
next currCell

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM