当前位置:  开发笔记 > 编程语言 > 正文

"无法设置Window类的FreezePanes属性"Excel 2016(office 365)

如何解决《"无法设置Window类的FreezePanes属性"Excel2016(office365)》经验,为你挑选了0个好方法。

我已经构建了一个excel插件,用数据库中的数据填充工作表.我还添加了一些样式并使用FreezePanes锁定一些行和列.

worksheet.Activate();
worksheet.Application.ActiveWindow.FreezePanes = false;
worksheet.Application.ActiveWindow.SplitRow = 4;
worksheet.Application.ActiveWindow.SplitColumn = 11;
worksheet.Application.ActiveWindow.FreezePanes = true;

这一切都像excel 2010/2013中的魅力一样,但我最近切换到excel 2016(办公室365),从那时起,当我的excel工作表不在前台时,我遇到了FreezePanes的问题.我搜索了互联网,我遇到的唯一事情就是我只能在活动表上预制FreezePanes,我知道 - 我已经在设置FreezePanes之前激活了表单.这在excel 2010中有效,尽管物理上我的excel没有被发送到前台.

来自办公室365的Excel可能真的希望我的excel工作表在物理上处于前台但worksheet.Activate()没有帮助,我也尝试了以下代码:

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);    

[DllImport("user32.dll", SetLastError = true)]
static extern System.IntPtr FindWindow(string lpClassName, string lpWindowName); 

string caption = oExcel.Caption;
IntPtr handler = FindWindow(null, caption);
SetForegroundWindow(handler);

但这也行不通.任何人都可以帮我这个吗?

需要说明的是:我的excel版本是2016版本1611(Build 7571.2109)

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有