VBS/WSH/JS - Вставка ссылки на первый лист в ячейку Excel с помощью VBS

Ответить
Аватара пользователя
Dedcase

VBS/WSH/JS - Вставка ссылки на первый лист в ячейку Excel с помощью VBS

Сообщение Dedcase »

Доброго дня! Существует книга, из 2-х листов. Во второй лист, в 1 ячейку нужно вставить ссылку с названием, скажем, "Оглавление", ссылающуюся на первый лист. Как реализовать это в именно VBS ?
Аватара пользователя
Dedcase

Re: VBS/WSH/JS - Вставка ссылки на первый лист в ячейку Excel с помощью VBS

Сообщение Dedcase »

Dedcase, не очень ясно, что за ссылку Вы имеете в виду. Гиперссылку? Как следует понимать — «на первый лист»?



Выложите образец рабочей книги с уже готовой ссылкой, сделанной Вами «ручками» — будем смотреть.
Аватара пользователя
Dedcase

Re: VBS/WSH/JS - Вставка ссылки на первый лист в ячейку Excel с помощью VBS

Сообщение Dedcase »

Здесь можно скачать книгу
https://yadi.sk/i/XknSJLCmjDPdo


Там 18 листов, нужно чтобы в первой ячейке, на каждом листе, появилась ссылка с надписью "Оглавление", при нажатии на которую, сразу перемещало к оглавлению, на первый лист книги. Как сделать это макросом понятно, не могу интерпретировать макрос VBA в VBS.
Аватара пользователя
Dedcase

Re: VBS/WSH/JS - Вставка ссылки на первый лист в ячейку Excel с помощью VBS

Сообщение Dedcase »

Можно интерпретировать вот так:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Option Explicit
Dim strSourceWorkbook
Dim objWorksheet
If WScript.Arguments.Count = 1 Then
	With WScript.CreateObject("Scripting.FileSystemObject")
		strSourceWorkbook = .GetAbsolutePathName(WScript.Arguments.Item(0))
		If .FileExists(strSourceWorkbook) Then
			Select Case LCase(.GetExtensionName(strSourceWorkbook))
				Case "xls", "xlsx"
					With WScript.CreateObject("Excel.Application")
						With .Workbooks.Open(strSourceWorkbook)
							For Each objWorksheet In .Worksheets
								If Not StrComp(objWorksheet.Name, "Оглавление", vbTextCompare) = 0 Then
									objWorksheet.Hyperlinks.Add objWorksheet.Range("A1"), "", "Оглавление!R1C1", "Перейти к оглавлению", "Оглавление"
								End If
							Next
							.Save
							.Close
						End With
						.Quit
					End With
				Case Else
					WScript.Echo "Probably not a Excel workbook."
					WScript.Quit 3
			End Select
		Else
			WScript.Echo "Can't find source workbook [" & strSourceWorkbook & "]."
			WScript.Quit 2
		End If
	End With
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ "
	WScript.Quit 1
End If
WScript.Quit 0







Путь к целевой рабочей книге задаётся аргументом скрипта. Также можно просто перетаскивать целевую рабочую книгу на скрипт в Проводнике.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»