新建一个控件测试窗体工程,添加一个DataGridView控件,添加前面我们做的扩展控件DataGridViewExt的引用,并在Form1.Designer.vb文件中中将
创新互联致力于成都网站设计、成都做网站、外贸网站建设,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!
Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView
Me.DataGridView1 = New System.Windows.Forms.DataGridView
分别改为:
Friend WithEvents DataGridView1 As DataGridViewExt.DataGridViewExt
Me.DataGridView1 = New DataGridViewExt.DataGridViewExt
然后就可以从Excel,记事本等程序往DataGridView粘贴数据了.
"G:\dl\shiyan\人员照片\Path.GetFileName(OpenFileDialog1.FileName)"
Path.GetFileName(OpenFileDialog1.FileName) 是你要执行的函数,不能放入引号中
使用变量nname先GetFileName结果新文件直接命名为变量nname
---- 这个要做的
2处改为
"G:\dl\shiyan\人员照片\“ nname
例如,把文件"E:\新建文件夹\a.txt"复制到剪贴板
CreateObject("Shell.Application").NameSpace("E:\新建文件夹").ParseName("a.txt").InvokeVerb "复制(C)"
这段代码的问题是:
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
用 io.Directory.Exists 判断文件夹是否存在。
再用 My.Computer.FileSystem.CopyDirectory() 复制。
我也碰到过这类问题。有解决办法。
.net 引用Office组件操作时同步需要注意。
你在.net端引用的Word application进行了保存动作后关闭了Word对象。
代码运行到下一步(准备复制的代码)时其实可能Word保存并没结束或Word文档对象还没关闭。最好的办法是列出进程列表、确定Word进程(Winword.exe)已经关闭了然后再复制。