【问题标题】:Office web app - Remove buttonsOffice Web 应用程序 - 删除按钮
【发布时间】:2016-11-11 02:34:57
【问题描述】:

有什么方法可以从 Office Web 应用程序中删除按钮或完整的功能区。我想删除下载、添加到一个驱动器等。

示例网址如下

https://view.officeapps.live.com/op/view.aspx?src=www.cse.lehigh.edu%2F~glennb%2Foose%2Fppt%2FCsharp_dotNET.ppt

【问题讨论】:

    标签: ms-office office-web-components


    【解决方案1】:

    您必须编辑适当的 css 文件以: .Class 或#ID 等 显示:无;

    单词可以在以下位置找到: "[驱动器在这里]:\microsoftwebapps\WebOneNote\Resources\1033\WordEditor.css"

    Excel 可以在以下位置找到: "[驱动器]:\microsoftwebapps\ExcelServicesWfe_layouts\styles\excelribbon.css"

    PowerPoint 可以在以下位置找到: "[驱动器在这里]:\microsoftwebapps\WebPPTViewer\pptresources\1033\stylesEdit.css"

    我使用 IE 的 DOM 资源管理器来定位我想要删除的按钮的特定类和 ID。

    祝你好运,这是一个巨大的痛苦**

    一个例子是

    "#btnOpenInClient{display:none;}"

    这是我的第一个答案。我真的没有时间格式化,但它应该会有所帮助。我真的只是为我的 OWA 做了这个

    【讨论】:

    • FireFox 非常适合获取功能区/按钮的 css 唯一标识符
    【解决方案2】:

    除了“不,这不可能”之外,没有其他有用的说法。只有客户端 Office 应用程序允许 UI 自定义,但仅限于隐藏或禁用功能区组件。

    【讨论】:

      【解决方案3】:

      下面的 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
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2015-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多