對(duì) Range 對(duì)象做 Copy 方法,要注意 Range 要連續(xù)的、成矩形選擇的。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括梁溪網(wǎng)站建設(shè)、梁溪網(wǎng)站制作、梁溪網(wǎng)頁(yè)制作以及梁溪網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,梁溪網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到梁溪省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
例如像:A1:C5 可以復(fù)制,
例如像:A1:C5, A10:C15 就不能復(fù)制。
還要注意一點(diǎn):對(duì) Range 對(duì)象進(jìn)行操作的話,所在工作表先要激活。
someRange.Worksheet.Activate
如果還有問(wèn)題的話,可以把對(duì) Excel 操作的代碼提取到 Excel VBA 環(huán)境下調(diào)試好了再移植回去。
'這是VB的要先引用Microsoft Scripting RunTime,下面的例子是找叫cmd.xxx的文件的
Private Sub Command1_Click()
Dim m_objFSO As New FileSystemObject
Dim objFolder As Scripting.Folder '文件夾對(duì)象
Dim objFile As Scripting.File '文件對(duì)象
Set objFolder = m_objFSO.GetFolder("c:/test")
For Each objFile In objFolder.Files
Dim filenames() As String
filenames = Split(objFile.Name, ".")
If filenames(0) = "cmd" Then
FileCopy objFile.Path, "c:/TestCMD/" "newName." filenames(1)
End If
Next objFile
End Sub
-----------------------------------這是VB.net的--------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim files() As String
files = System.IO.Directory.GetFiles("C:/test")
For i = 0 To files.Length - 1
Dim filenames() As String
filenames = files(i).Substring(files(i).LastIndexOf("\") + 1).Split(".")
If filenames(0) = "cmd" Then
FileCopy(files(i), "c:/TestCMD/" "newName." filenames(1))
End If
Next
End Sub
這段代碼的問(wèn)題是:
首先f(wàn)or each循環(huán)在files里查找文件對(duì)象,但是f變量聲明為string了,無(wú)法讓它獲取對(duì)象;
然后file.copy的變量file沒(méi)有任何聲明,也沒(méi)有初始化賦值等;
最后,整個(gè)for each循環(huán)里查找集合files的文件,由于初始化的循環(huán)計(jì)數(shù)器仍然按照最初設(shè)定的文件數(shù)目向后遞增(文件地址),但是實(shí)際文件刪除一部分,后續(xù)的文件位置就不能跟循環(huán)計(jì)數(shù)指針匹配了,所以默認(rèn)為查找不到文件,將會(huì)報(bào)錯(cuò)。一般的做法時(shí)把復(fù)制和刪除分別放在2次循環(huán)里,第一次只復(fù)制文件,第二次才去刪除。
執(zhí)行存儲(chǔ)過(guò)程調(diào)用的是ADO.net
返回的結(jié)果集是一個(gè)DataSet對(duì)象。 如果不是,請(qǐng)檢查下你的數(shù)據(jù)連接庫(kù),改下代碼。
如果存儲(chǔ)過(guò)程返回的是兩個(gè)結(jié)果集,那么返回的DataSet就有兩個(gè)DataTable對(duì)象。
調(diào)用的時(shí)候 只需要
DataSet ds=dbHelper.RunProcedure("Web_pGetDataPager");//假設(shè)的返回dataset對(duì)象的執(zhí)行存儲(chǔ)過(guò)程的方法。
ds.Tables[0] 就是第一個(gè)結(jié)果集
ds.Tables[1] 就是第二個(gè)結(jié)果集
//弱綁定第二個(gè)結(jié)果集 就是下面這樣
Datagridview.DataSource=ds.Table[1];
Datagridview.DataBind();
參考一下下面這段代碼:
‘?首先picturebox1?加載一張圖像
FolderBrowserDialog1.Description?=?"選擇圖片文件夾導(dǎo)入圖片"
FolderBrowserDialog1.ShowDialog()
path?=?FolderBrowserDialog1.SelectedPath()
If?path?=?""?Then?Return
strSrcFile?=?Dir(path??"\*.tif")
PictureBox1.Image?=?Image.FromFile(path??"\"??strSrcFile)
’??然后再在picturebox1中用graphic畫圖而不清空原圖像
'?建立一個(gè)畫圖對(duì)象
Dim?g?As?Graphics?=?Me.PictureBox1.CreateGraphics
‘?定義畫筆
Dim?myPen?As?System.Drawing.Pen?=?New?System.Drawing.Pen(Color.Blue)
’?畫出矩形框并且填充顏色(顏色保持50%的透明度,使得下面原來(lái)的圖片背景能看得到)
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))
'?最后釋放畫圖對(duì)象
g.Dispose()
效果大致如下圖所示: