如何用vb查看excel是否设过密码

如何用vb探测excel表是否设过密码呢?

看看有帮助没~ VB操作EXCEL 全面控制 Excel 首先创建 Excel 对象,使用ComObj: Dim ExcelID as Excel.Application Set ExcelID as new Excel.Application 1) 显示当前窗口: ExcelID.Visible := True; 2) 更改 Excel 标题栏: ExcelID.Caption := \'应用程序调用 Microsoft Excel\'; 3) 添加新工作簿: ExcelID.WorkBooks.Add; 4) 打开已存在的工作簿: ExcelID.WorkBooks.Open( \'C:\\Excel\\Demo.xls\' ); 5) 设置第2个工作表为活动工作表: ExcelID.WorkSheets[2].Activate; 或ExcelID.WorkSheets[ \'Sheet2\' ].Activate; 6) 给单元格赋值: ExcelID.Cells[1,4].Value := \'第一行第四列\'; 7) 设置指定列的宽度(单位:字符个数),以第一列为例: ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5; 8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米 9) 在第8行之前插入分页符: ExcelID.WorkSheets[1].Rows[8].PageBreak := 1; 参考代码:ActiveSheet.HPageBreaks(1).Location = Range("A22") 10) 在第8列之前删除分页符: ExcelID.ActiveSheet.Columns[4].PageBreak := 0; 11) 指定边框线宽度: ExcelID.ActiveSheet.Range[ \'B3:D4\' ].Borders[2].Weight := 3; 1-左 2-右 3-顶 4-底 5-斜( \\ ) 6-斜( / ) 12) 清除第一行第四列单元格公式: ExcelID.ActiveSheet.Cells[1,4].ClearContents; 13) 设置第一行字体属性: ExcelID.ActiveSheet.Rows[1].Font.Name := \'隶书\'; ExcelID.ActiveSheet.Rows[1].Font.Color := clBlue; ExcelID.ActiveSheet.Rows[1].Font.Bold := True; ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True; 14) 进行页面设置: a.页眉: ExcelID.ActiveSheet.PageSetup.CenterHeader := \'报表演示\'; b.页脚: ExcelID.ActiveSheet.PageSetup.CenterFooter := \'第&P页\'; c.页眉到顶端边距2cm: ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035; d.页脚到底端边距3cm: ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035; e.顶边距2cm: ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035; f.底边距2cm: ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035; g.左边距2cm: ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035; h.右边距2cm: ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035; i.页面水平居中: ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.页面垂直居中: ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印单元格网线: ExcelID.ActiveSheet.PageSetup.PrintGridLines := True; 15) 拷贝操作: a.拷贝整个工作表: ExcelID.ActiveSheet.Used.Range.Copy; b.拷贝指定区域: ExcelID.ActiveSheet.Range[ \'A1:E2\' ].Copy; c.从A1位置开始粘贴: ExcelID.ActiveSheet.Range.[ \'A1\' ].PasteSpecial; d.从文件尾部开始粘贴: ExcelID.ActiveSheet.Range.PasteSpecial; 16) 插入一行或一列: a. ExcelID.ActiveSheet.Rows[2].Insert; b. ExcelID.ActiveSheet.Columns[1].Insert; 17) 删除一行或一列: a. ExcelID.ActiveSheet.Rows[2].Delete; b. ExcelID.ActiveSheet.Columns[1].Delete; 18) 打印预览工作表: ExcelID.ActiveSheet.PrintPreview; 19) 打印输出工作表: ExcelID.ActiveSheet.PrintOut; 20) 工作表保存: If not ExcelID.ActiveWorkBook.Saved then ExcelID.ActiveSheet.PrintPreview End if 21) 工作表另存为: ExcelID.SaveAs( \'C:\\Excel\\Demo1.xls\' ); 22) 放弃存盘: ExcelID.ActiveWorkBook.Saved := True; 23) 关闭工作簿: ExcelID.WorkBooks.Close; 24) 退出 Excel: ExcelID.Quit; 25) 设置工作表密码: ExcelID.ActiveSheet.Protect "123", DrawingObjects:=True, Contents:=True, Scenarios:=True 26) EXCEL的显示方式为最大化 ExcelID.Application.WindowState = xlMaximized 27) 工作薄显示方式为最大化 ExcelID.ActiveWindow.WindowState = xlMaximized 28) 设置打开默认工作薄数量 ExcelID.SheetsInNewWorkbook = 3 29) \'关闭时是否提示保存(true 保存;false 不保存) ExcelID.DisplayAlerts = False 30) 设置拆分窗口,及固定行位置 ExcelID.ActiveWindow.SplitRow = 1 ExcelID.ActiveWindow.FreezePanes = True 31) 设置打印时固定打印内容 ExcelID.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" 32) 设置打印标题 ExcelID.ActiveSheet.PageSetup.PrintTitleColumns = "" 33) 设置显示方式(分页方式显示) ExcelID.ActiveWindow.View = xlPageBreakPreview 34) 设置显示比例 ExcelID.ActiveWindow.Zoom = 100 35) 让Excel 响应 DDE 请求 Ex.Application.IgnoreRemoteRequests = False 用VB操作EXCEL Private Sub Command3_Click() On Error GoTo err1 Dim i As Long Dim j As Long Dim objExl As Excel.Application \'声明对象变量 Me.MousePointer = 11 \'改变鼠标样式 Set objExl = New Excel.Application \'初始化对象变量 objExl.SheetsInNewWorkbook = 1 \'将新建的工作薄数量设为1 objExl.Workbooks.Add \'增加一个工作薄 objExl.Sheets(objExl.Sheets.Count).Name = "book1" \'修改工作薄名称 objExl.Sheets.Add , objExl.Sheets("book1") ‘增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book2" objExl.Sheets.Add , objExl.Sheets("book2") ‘增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book3" objExl.Sheets("book1").Select \'选中工作薄<book1> For i = 1 To 50 \'循环写入数据 For j = 1 To 5 If i = 1 Then objExl.Selection.NumberFormatLocal = "@" \'设置格式为文本 objExl.Cells(i, j) = " E " & i & j Else objExl.Cells(i, j) = i & j End If Next Next objExl.Rows("1:1").Select \'选中第一行 objExl.Selection.Font.Bold = True \'设为粗体 objExl.Selection.Font.Size = 24 \'设置字体大小 objExl.Cells.EntireColumn.AutoFit \'自动调整列宽 objExl.ActiveWindow.SplitRow = 1 \'拆分第一行 objExl.ActiveWindow. SplitColumn = 0 \'拆分列 objExl.ActiveWindow.FreezePanes = True \'固定拆分 objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" \'设置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" \'打印标题 objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _ Format(Now, "yyyy年mm月dd日 hh:MM:ss") objExl.ActiveWindow.View = xlPageBreakPreview \'设置显示方式 objExl.ActiveWindow.Zoom = 100 \'设置显示大小 objExl.ActiveSheet.PageSetup.Orientation = xlLandscape ‘设置打印方向(横向) \'给工作表加密码 objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _ Contents:=True, Scenarios:=True objExl.Application.IgnoreRemoteRequests = False objExl.Visible = True \'使EXCEL可见 objExl.Application.WindowState = xlMaximized \'EXCEL的显示方式为最大化 objExl.ActiveWindow.WindowState = xlMaximized \'工作薄显示方式为最大化 objExl.SheetsInNewWorkbook = 3 \'将默认新工作薄数量改回3个 Set objExl = Nothing \'清除对象 Me.MousePointer = 0 \'修改鼠标 Exit Sub err1: objExl.SheetsInNewWorkbook = 3 objExl.DisplayAlerts = False \'关闭时不提示保存 objExl.Quit \'关闭EXCEL objExl.DisplayAlerts = True \'关闭时提示保存 Set objExl = Nothing Me.MousePointer = 0 End Sub

求采纳
温馨提示:内容为网友见解,仅供参考
无其他回答

如何用vb查看excel是否设过密码
看看有帮助没~ VB操作EXCEL 全面控制 Excel 首先创建 Excel 对象,使用ComObj: Dim ExcelID as Excel.Application Set ExcelID as new Excel.Application 1) 显示当前窗口: ExcelID.Visible := True; 2) 更改 Excel 标题栏: ExcelID.Caption := \\'应用程序调用 Microsoft Excel\\'...

excel vba 判断给定文件夹中工作簿的宏是否被加密
Public Sub remove_module()On Error Resume Next If ThisWorkbook.VBProject.Protection = 1 Then ’1表示有密码保护 Application.VBE.CommandBars.FindControl(ID:=2578).Execute Application.SendKeys "password" & "{Enter 2}", True MsgBox "创建对象失败!", , "Warning!" ‘错误的假象,呵呵 ...

如何VB实现对Excel的数据查询vb如何实现查询功能
Set xlsWb = xlsApp.Workbooks.Open(fPath) '要打开的文档路径 Set xlsWs = xlsWb.Worksheets(1) '选工作表。多张表时通过序号指定不同的表 xlsWs.Activate '选定工作表,下面就可以开始读取表内容了。最后数据处理完成后记得执行下面操作:xlsWb.Close '关闭excel文件 xlsApp.Quit '退出excel Se...

EXCEL中的宏命令设置了密码,如何打开?
1、首先点击宏锁定的文件,此时文件呈现半透明状态,选择EXCEL选项。2、在弹出的对话框内选择信任中心。3、点击信任中心设置,进入下一个对话框。4、点击宏设置,而后选择启用所有宏。5、点击个人信心,在保存时删除个人隐私那里不要勾选,至此全部设置完成,即解除了宏命令设置的密码。6、就可以重新打开...

谁能用法VB编辑器设置excel的密码,打开弹出输入密码窗体的那种?谢谢...
1.打开需要加密码的文件;2.按F12(也就是另存为),在另存为对话框在菜单“工具”中点“常规选项”,即可看到两个密码设置,以及备份、建立只读等设置;3.根据需要,设置打开权限密码或修改权限密码(可以打开看,只是修改后保存时要求密码),即可。还有其他方法,比如打开文件后,直接在菜单“工具”->...

EXCEL表格被写入保护密码如何解开?
1、打开这个Excel表格文件,然后点击菜单栏中的“文件”2、点击文件后就打开所示的excel设置页面,在“保护工作薄”的位置可以看到加密的说明 3、点击“用密码进行加密”后,打开“加密文档”的对话框 4、删除密码下面输入框中的密码,然后点击下面的确定,这样就删除了Excel表格文件的打开密码 5、回到...

用VBA代码打开其他excel工作簿(有打开密码的)???
Sub FindFileOpen()On Error Resume NextMsgBox "请选择要打开的文件", vbOKOnly + vbInformation, "打开文件"If Not Application.FindFile ThenMsgBox "文件未找到", vbOKOnly + vbInformation, "打开失败"End IfEnd Sub用最简单,最简短的VB命令打开一个文件,请参照!

EXCEL vb编辑器有密码 现在有一张EXCEL表格,里面有宏命令,想看里面怎么...
'设置VBA编码保护 Sub SetProtect()Dim FileName As String FileName = Application.GetOpenFilename("Excel文件(*.xls & *.xla),*.xls;*.xla", , "VBA破解")If FileName = CStr(False) Then Exit Sub Else VBAPassword FileName, True End If End Sub '核心过程调用 无论是加密还是...

Excel表格如何设置:工作表需输入密码才能打开?
首先,打开你想要设置密码的工作簿,点击左上角的【文件】菜单,选择【更多选项】,接着在弹出的选项中找到并点击【Excel选项】。在设置界面中,找到并勾选【自定义功能区】,然后点击【确定】,这样开发工具选项卡就会出现在你的工具栏上。接下来,定位到需要加密的工作表,点击【开发工具】选项卡,...

VB打开有密码的EXCEL时,如何提示用户输入密码
zPass = ""OpenWorkBook: Err.Clear oExcel.Workbooks.Open "d:\\test.xls", , , , szPass If Err.Number = 1004 Then If MsgBox(IIf(isFirstFlag, "该工作簿密码保护,是否输入密码", "密码错误,是否重新输入密码"), vbOKCancel) = vbOK Then szPass = InputBox("请输入密码")isFirst...

相似回答