在Excel 2007中,我有一个年份编号和周编号,我想计算月份编号.
问题在于,在我的情况下,每周的开始是星期一,因此有些星期将会重叠多年.
例子:
Year: 2012
Week 1 started: Monday 2nd January
Sunday 1st January was in week 52 of 2011
Run Code Online (Sandbox Code Playgroud)
所以给出以下内容:
Year: 2011
Week: 10
Run Code Online (Sandbox Code Playgroud)
我如何计算出第3周开始的第10周,因此第10周是第3个月.
感谢您的帮助.
我想到了PowerPoint的任务窗格加载项,可以帮助用户在活动演示文稿中完成任务。随着Microsoft Office在Windows以外的平台上越来越流行,使用JavaScript API可以实现出色的可移植性。有许多COM加载项通过PowerPoint对象模型来执行以下操作:
看完JavaScript API文档后,目前看来这些事情是不可能的。getFileAsync听起来有些许希望,但最终无济于事。getSelectedDataAsync仅返回幻灯片的文本或标题和ID。因此,这也不是解决方案。
对于上述任务,我目前对适用于PowerPoint的JavaScript API感到不走运是否正确?即我需要等待更全面的API可用(例如Word和Excel的API)?有人知道微软在这里是否有工作吗?
是的,我在谈论桌面应用程序中的许可证验证代码,例如方法bool ValidateLicense(string licenseCode).当然,任何保护方案都可以由技术熟练且坚定的破解者进行逆向工程.但是,我想防止具有一些基本编程知识的人可以在几分钟内使用Reflector来构建keygen.
可能的方法
混淆.我的理解是,混淆会导致性能开销并可能阻碍(合法)调试.那么是否有工具允许混淆选定的方法?
将方法移动到ngen'ed程序集或非托管DLL.但这不是简单替换DLL的邀请吗?任何想法如何防止这种情况(阅读:让攻击者更难一点)?
其他?
PS:问题显然与Protect .NET代码的逆向工程有关吗?试图把思想从那里带到实践中
UPDATE
要1.第一个混淆步骤肯定是重命名验证方法.(谢谢,乔纳森)
为2.假设应用程序使用Win32 API方法,可以通过非托管DLL重新路由调用,从而使其成为应用程序的组成部分.摆弄方法签名(例如更改名称,交换参数)会使这一点变得不那么明显.你认为天生的弊端是否合理?
要3. 不要分发验证方法属于这里.将它保存在您的服务器上并远程调用,即使用在线验证(谢谢,David Hedlund)
我正在编写 Office 加载项(以前称为 Office 应用程序)。我正在使用office.js并且在某些代码点中我想检查应用程序是在 excel(桌面软件)中运行还是在网络上运行(Excel Online)
就像是:
if (Office.IsRunningOnWeb){
// Do something.
}
Run Code Online (Sandbox Code Playgroud) excel ×2
office-app ×2
office-js ×2
.net ×1
date ×1
javascript ×1
obfuscation ×1
powerpoint ×1
security ×1
week-number ×1