用Webbrowser打开Office时不提示打开、保存对话框

  Public Shared Sub _RegisterAutoConfirmOffice(ByVal bComfirm As Boolean)
        Try
            If bComfirm = True Then
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "FoxitReader.FoxitReaderCtl.1", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Excel.Sheet.8", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Excel.Sheet.12", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "PowerPoint.Show.8", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "PowerPoint.Show.12", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Word.Document.8", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Word.Document.12", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Visio.Drawing.11", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Visio.Drawing.3", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Visio.Drawing.4", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Visio.Drawing.5", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Visio.Drawing.6", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Visio.WebDrawing.14", "0")
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", "Visio.WebDrawing.15", "0")
            Else
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("FoxitReader.FoxitReaderCtl.1")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Excel.Sheet.8")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Excel.Sheet.12")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("PowerPoint.Show.8")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("PowerPoint.Show.12")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Word.Document.8")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Word.Document.12")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Visio.Drawing.11")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Visio.Drawing.3")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Visio.Drawing.4")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Visio.Drawing.5")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Visio.Drawing.6")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Visio.WebDrawing.14")
                My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046}", True).DeleteValue("Visio.WebDrawing.15")
            End If

        Catch ex As Exception

        End Try
    End Sub

在VB.NET中,如果你想通过`WebBrowser`控件显示Excel文件而不让它保存,你可以使用`Microsoft.Office.Interop.Excel`库来操作Excel,并设置一些选项阻止用户直接下载或另存文档。 以下是一个基本步骤: 1. 引入所需命名空间: ```vb.net Imports Microsoft.Office.Interop.Excel ``` 2. 创建一个新的Excel应用程序实例: ```vb.net Dim excelApp As New Excel.Application() ``` 3. 加载Excel工作簿并选择你要展示的工作表: ```vb.net Dim workbook As Workbook = excelApp.Workbooks.Open("路径\to\your.xlsx") Dim worksheet As Worksheet = workbook.Sheets(1) ' 或指定工作表索引 ``` 4. 将工作表内容转换为HTML格式以便于浏览器查看: ```vb.net Dim html As String Using htmlStream As New MemoryStream() Dim saveOptions As SaveAsOptions = New SaveAsOptions() saveOptions.FileFormat = XlFileFormat.xlHtml4MacroEnabled saveOptions.SaveAsType = XlSaveAsAccessMode.xlNoChange excelApp.ActiveSheet.ExportAsFixedFormat(htmlStream, False, Type.Missing, False) htmlStream.Seek(0, SeekOrigin.Begin) Using sr As StreamReader = New StreamReader(htmlStream) html = sr.ReadToEnd() End Using End Using ``` 5. 把HTML内容加载到WebBrowser控件中: ```vb.net webBrowser1.DocumentText = html ``` 6. 关闭Excel应用(记得处理异常): ```vb.net Try workbook.Close(SaveChanges:=False) Catch ex As Exception Console.WriteLine("Error closing Excel: " & ex.Message) End Try Finally excelApp.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp) End Finally ``` 在这个过程中,Excel文件只会在内存中短暂存在,不会被保存到用户的本地文件系统上。但是请注意,由于安全限制,这并不适用于包含敏感数据或宏的文件,因为浏览器可能会有其自身的安全策略。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值