点滴
1.dotnet平台 #define #if #elsif #const的重要性(条件编译,编译器使用)
2.每个线程都有一个独立的方法栈 ,方法栈中存储的都是临时变量和对堆中对象的引用
method(){
Object o = new Object()
synchronized(o){
}
}
这样的代码是合理的,o是存在堆中的一份
3.vba on error goto errhandler
public sub xxx()
on error goto errhandler
xxx
exit sub(注意别掉了)
errhandler:
xxxxx
end sub
4.dotnet平台下 分布式实现
1.web服务
2.MSMQ
3..Net Remoting
5.dotnet上开发windows service,当windows service调用excel com的时候
需要
x64 C:\Windows\SysWOW64\config\systemprofile
x86 C:\Windows\System32\config\systemprofile
目录下创建Desktop 不然调用excel com将失败
Application调用excel com不会有问题
6.PIA(dotnet提供操作office的类库也是VSTO与officeCOM沟通的桥梁) 当workbook打开的时候如果没有save或者saveas,close的时候会阻塞,所以无论如何必须save或saveas,那就放在finally中save吧
7.PIA操作excel 但给excel赋值的时候数据类型优先由excel的格式设置指定 ,比如 Range("xxxxx").Value="123",如果xxxxx单元格设置为数字,则excel将以数字进行处理,不会将其看成文本,当进行office开发时,最好将模板进行格式设置
8.excel lookup函数查找的值与要被查找的区域数据类型要一致才能找到 vlookup(value,lookup_value或者区域), value 与 lookup_value的值的类型要一致
浙公网安备 33010602011771号