有什么方法可以从 Office Web 应用程序中删除按钮或完整的功能区。我想删除下载、添加到一个驱动器等。
示例网址如下
有什么方法可以从 Office Web 应用程序中删除按钮或完整的功能区。我想删除下载、添加到一个驱动器等。
示例网址如下
您必须将相应的 css 文件编辑为:.Class 或 #ID 等。 display: none;
Word 可以在以下位置找到:“[此处驱动器]:\microsoftwebapps\WebOneNote\Resources\1033\WordEditor.css”
Excel 可以在以下位置找到:“[此处驱动器]:\microsoftwebapps\ExcelServicesWfe_layouts\styles\excelribbon.css”
PowerPoint 可以在以下位置找到:“[此处驱动器]:\microsoftwebapps\WebPPTViewer\pptresources\1033\stylesEdit.css”
我使用 IE 的 DOM 资源管理器来定位我想要删除的按钮的特定类和 ID。
祝你好运,这是一个巨大的痛苦
一个例子是
“#btnOpenInClient{显示:无;}”
这是我的第一个答案。我真的没有时间格式化,但它应该会有所帮助。我真的只是为我的 OWA 做了这个
除了“不,这不可能”之外,没有其他有用的方式来表达这一点。只有客户端 Office 应用程序允许 UI 自定义,但仅限于隐藏或禁用功能区组件。
下面的 powershell 脚本应该可以达到目的:请根据您的目的调整 $hideElements 数组。
添加自定义 css 以隐藏文件菜单中的多个选项(信息、另存为、打印、共享、退出) OWA CSS 文件将被修改:WordEditor.css、WordViewer.css、stylesEdit.css、stylesRead.css、ExcelFrame.css
param (
[Parameter(Mandatory=$true)][string]$action
)
$action = $action.ToLower()
$acceptedActions = "apply","rollback"
if ($acceptedActions -notcontains $action) {
throw "Invalid action. Accepted actions: apply,rollback"
}
$owaPath = "C:\Program Files\Microsoft Office Web Apps"
$hideElements = "#_x{} a[id$=Save-Menu32]{display:none;} a[id$=SaveAs-Menu32]{display:none;} a[id$=Print-Menu32]{display:none;} a[id$=Share-Menu32]{display:none;} a[id$=Close-Menu32]{display:none;} #btnOpenInClient-Medium{display:none;} #btnFileSharing-Medium{display:none;}";
$cssFiles = "$owaPath\WebOneNote\Resources\1033\WordEditor.css", "$owaPath\WebPPTViewer\pptresources\1033\stylesEdit.css", "$owaPath\WebWordViewer\Resources\1033\WordViewer.css", "$owaPath\WebPPTViewer\pptresources\1033\stylesRead.css", $owaPath\ExcelServicesWfe\_layouts\1033\styles\ExcelFrame.css"
function ApplyPatch($cssFile, $hideElements) {
if(-Not (Get-Content $cssFile).Contains($hideElements)) {
$cssBackupFile = "$cssFile.bak"
Copy-Item -Path $cssFile -Destination $cssBackupFile -Force
Add-Content $cssFile $hideElements
Write-Host "Patch applied on $cssFile"
} else {
Write-Warning "Patch already applied on $cssFile."
}
}
function RollbackPatch($cssFile, $hideElements) {
$cssBackupFile = "$cssFile.bak"
if((Test-Path $cssBackupFile) -eq 1) {
Copy-Item -Path $cssBackupFile -Destination $cssFile -Force
Remove-Item $cssBackupFile
Write-Host "Rollback applied on $cssFile"
} else {
Write-Warning "Missing backup file for $cssFile. Cannot rollback"
}
}
If($action -eq "apply") {
foreach ($cssFile in $cssFiles) {
ApplyPatch $cssFile $hideElements
}
}
If($action -eq "rollback") {
foreach ($cssFile in $cssFiles) {
RollbackPatch $cssFile $hideElements
}
}