Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата DEDI:
Но может будут еще варианты интересные?) »
Держите «интересный вариант» — то же самое, но с проверками:
читать дальше »
Код: Выделить весь код
Option Explicit

Dim objFSO

Dim strSourceFile
Dim intWorksheetNumber
Dim intRowNumber
Dim intColumnNumber
Dim strNewValue


If WScript.Arguments.Count = 5 Then
	strSourceFile = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strSourceFile) Then
		Select Case LCase(objFSO.GetExtensionName(strSourceFile))
			Case "xls", "xlsx"
				If IsNumeric(WScript.Arguments.Item(1)) Then
					intWorksheetNumber = CInt(WScript.Arguments.Item(1))
					
					If IsNumeric(WScript.Arguments.Item(2)) Then
						intRowNumber = CInt(WScript.Arguments.Item(2))
						
						If IsNumeric(WScript.Arguments.Item(3)) Then
							intColumnNumber = CInt(WScript.Arguments.Item(3))
							
							strNewValue = WScript.Arguments.Item(4)
							
							With WScript.CreateObject("Excel.Application")
								With .Workbooks.Open(strSourceFile)
									If .Worksheets.Count >= intWorksheetNumber Then
										.Worksheets.Item(intWorksheetNumber).Cells.Item(intRowNumber, intColumnNumber).Value = strNewValue
									Else
										WScript.Echo "Worksheet number [" & WScript.Arguments.Item(1) & "] greater then worksheets count in workbook."
										.Close
										.Application.Quit
										WScript.Quit 7
									End If
									
									.Save
									.Close
								End With
								
								.Quit
							End With
						Else
							WScript.Echo "Column number [" & WScript.Arguments.Item(3) & "] is not a numeric value."
							WScript.Quit 6
						End If
					Else
						WScript.Echo "Row number [" & WScript.Arguments.Item(2) & "] is not a numeric value."
						WScript.Quit 5
					End If
				Else
					WScript.Echo "Worksheet number [" & WScript.Arguments.Item(1) & "] is not a numeric value."
					WScript.Quit 4
				End If
			Case Else
				WScript.Echo "Source file [" & strSourceFile & "] probably is not an Excel document."
				WScript.Quit 3
		End Select
	Else
		WScript.Echo "Source file [" & strSourceFile & "] not found."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo " & WScript.ScriptName & " <Source file> <Worksheet number> <Row number> <Column number> <New cell's value>"
	WScript.Quit 1
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:15, 17-07-2014 | #4