c4uran, такую реализацию никак нельзя сделать на пакетных файлах — там нет поддержки Automation. Кроме WSH, аналогичное также можно проделать посредством PowerShell.
P.S. Исправьте заголовок темы на более соответствующее содержанию, наподобие «Добавить надстройку в Microsoft Excel», путём редактирования первого сообщения темы.
CMD/BAT - Добавить надстройку в Microsoft Excel
-
c4uran
Re: CMD/BAT - Добавить надстройку в Microsoft Excel
c4uran, примерно так:
Скрытый текст
[spoiler]Код: [/spoiler]
Скрытый текст
[spoiler]Код: [/spoiler]
Код: Выделить всё
$sSourceFile = Join-Path -Path $PSScriptRoot -ChildPath "mc.xlam"
if(Test-Path -Path $sSourceFile -PathType Leaf) {
$sDestPath = "$([Environment]::GetFolderPath("ApplicationData"))\Microsoft\AddIns"
$sDestFile = Join-Path -Path $sDestPath -ChildPath "mc.xlam"
if(Test-Path -Path $sDestPath -PathType Container) {
[System.IO.File]::Copy($sSourceFile, $sDestFile, $true)
$oExcel = New-Object -ComObject 'Excel.Application'
$oExcel.Workbooks.Add() | Out-Null
$oExcel.AddIns.Add($sDestFile).Installed = $true
$oExcel.Quit()
} else {
Write-Host "Can't find destination folder [$sDestPath]." -ForegroundColor Red
}
} else {
Write-Host "Can't find source file [$sSourceFile]." -ForegroundColor Red
}-
c4uran
Re: CMD/BAT - Добавить надстройку в Microsoft Excel
Iska, Вы волшебник! спасибо большое! Хоть я и вроде понимаю что написано в пс скрипте но могли бы уточнить почему используете запрос [System.IO.File]::Copy это вроде вызов из .net
и если не сложно можете подсказать где можно изучить запросы приложений например офиса т.к этот абзац для меня загадка:
Код:
где взять хелп по этим вызовам?
и если не сложно можете подсказать где можно изучить запросы приложений например офиса т.к этот абзац для меня загадка:
Код:
Код: Выделить всё
$oExcel = New-Object -ComObject 'Excel.Application'
$oExcel.Workbooks.Add() | Out-Null
$oExcel.AddIns.Add($sDestFile).Installed = $true
$oExcel.Quit()где взять хелп по этим вызовам?
-
Iska
Re: CMD/BAT - Добавить надстройку в Microsoft Excel
Цитата c4uran:
но могли бы уточнить почему используете запрос [System.IO.File]::Copy это вроде вызов из .net
Используется статический метод Copy класса System.IO.File. Почему так, а не командлет PowerShell Copy-Item? Мне так проще.
Цитата c4uran:
где можно изучить запросы приложений например офиса
Win-R, excel.exe, Enter, Alt-F11, F1:
Скрытый текст
[spoiler]
[/spoiler]
Надеюсь, что в Вашей версии Microsoft Office осталось так же. Ну, или в MSDN.
но могли бы уточнить почему используете запрос [System.IO.File]::Copy это вроде вызов из .net
CMD/BAT - Добавить надстройку в Microsoft Excel
Используется статический метод Copy класса System.IO.File. Почему так, а не командлет PowerShell Copy-Item? Мне так проще.
Цитата c4uran:
где можно изучить запросы приложений например офиса
CMD/BAT - Добавить надстройку в Microsoft Excel
Win-R, excel.exe, Enter, Alt-F11, F1:
Скрытый текст
[spoiler]
[/spoiler]Надеюсь, что в Вашей версии Microsoft Office осталось так же. Ну, или в MSDN.