Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 取消excel工作表的保护_C#_Excel_Vba - Fatal编程技术网

C# 取消excel工作表的保护

C# 取消excel工作表的保护,c#,excel,vba,C#,Excel,Vba,下面是我的C#代码,我试图通过传递密码来解锁受保护的工作表,但它仍然没有解锁工作表,我需要在工作表中添加一些宏 代码: 我不能用“发送键”,请帮我 感谢使用VBA时的一条建议:开始录制您尝试执行的宏,然后查看生成的代码 看起来您正在尝试打开受保护的文件,而不是取消工作表的保护 我发现了一些类似这样的旧代码(它是VB): 在您的代码中,您正在传递文档密码。您没有取消对工作簿的保护 使用以下代码取消对工作簿的保护: targetExcelFile.Unprotect(password); 如果您有

下面是我的C#代码,我试图通过传递密码来解锁受保护的工作表,但它仍然没有解锁工作表,我需要在工作表中添加一些宏

代码:

我不能用“发送键”,请帮我


感谢使用VBA时的一条建议:开始录制您尝试执行的宏,然后查看生成的代码

看起来您正在尝试打开受保护的文件,而不是取消工作表的保护

我发现了一些类似这样的旧代码(它是VB):


在您的代码中,您正在传递文档密码。您没有取消对工作簿的保护

使用以下代码取消对工作簿的保护:

targetExcelFile.Unprotect(password);

如果您有任何问题,请告诉我。

VB 6和C#之间的差异非常显著。我不想做所有的工作,只想给他指出正确的方向。他试图打开一个受密码保护的文件,但他想取消工作表的保护。我想答案和(VB6)代码说明了这一点。
Dim WSheet As Worksheet
For Each WSheet In Worksheets
    If WSheet.ProtectContents = True Then
        WSheet.Unprotect Password:=MyPassword
    Else
        WSheet.Protect Password:=MyPassword
    End If
Next WSheet
targetExcelFile.Unprotect(password);