复制文件夹不用剪贴板,使用系统文件操作对象就好了
成都创新互联公司提供高防主机、云服务器、香港服务器、西部信息中心等
CreateObject("scripting.filesystemobject").copyfolder "c:\Program Files", "D:\Program Files"
参考一下下面这段代码:
‘ 首先picturebox1 加载一张图像
FolderBrowserDialog1.Description = "选择图片文件夹导入图片"
FolderBrowserDialog1.ShowDialog()
path = FolderBrowserDialog1.SelectedPath()
If path = "" Then Return
strSrcFile = Dir(path "\*.tif")
PictureBox1.Image = Image.FromFile(path "\" strSrcFile)
’ 然后再在picturebox1中用graphic画图而不清空原图像
' 建立一个画图对象
Dim g As Graphics = Me.PictureBox1.CreateGraphics
‘ 定义画笔
Dim myPen As System.Drawing.Pen = New System.Drawing.Pen(Color.Blue)
’ 画出矩形框并且填充颜色(颜色保持50%的透明度,使得下面原来的图片背景能看得到)
g.DrawRectangle(myPen, New System.Drawing.Rectangle(50, 50, 30, 20))
g.FillRectangle(New SolidBrush(Color.FromArgb(50, Color.YellowGreen)), New System.Drawing.Rectangle(50, 50, 30, 20))
' 最后释放画图对象
g.Dispose()
效果大致如下图所示:
执行存储过程调用的是ADO.net
返回的结果集是一个DataSet对象。 如果不是,请检查下你的数据连接库,改下代码。
如果存储过程返回的是两个结果集,那么返回的DataSet就有两个DataTable对象。
调用的时候 只需要
DataSet ds=dbHelper.RunProcedure("Web_pGetDataPager");//假设的返回dataset对象的执行存储过程的方法。
ds.Tables[0] 就是第一个结果集
ds.Tables[1] 就是第二个结果集
//弱绑定第二个结果集 就是下面这样
Datagridview.DataSource=ds.Table[1];
Datagridview.DataBind();
对 Range 对象做 Copy 方法,要注意 Range 要连续的、成矩形选择的。
例如像:A1:C5 可以复制,
例如像:A1:C5, A10:C15 就不能复制。
还要注意一点:对 Range 对象进行操作的话,所在工作表先要激活。
someRange.Worksheet.Activate
如果还有问题的话,可以把对 Excel 操作的代码提取到 Excel VBA 环境下调试好了再移植回去。
这段代码的问题是:
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。