我在一個excel中做好了模板,該模板中的圖片都是cad連接圖片。現在要這樣做:制作好一個格式的excel檔案保存;構造一個excel檔案,在特定的位置用vba在構造檔案中貼入模板檔案里的某個圖。
有誰能幫忙,用什么指令實作?
uj5u.com熱心網友回復:
PasteSpecial
var
FExcel: Variant;
FWorkbook: Variant;
FWorksheet: Variant;
begin
try
FExcel := CreateOleObject('excel.application');
except
Screen.cursor := crDefault;
MessageDlg('Could not start Microsoft Excel!', mtError, [mbCancel], 0);
Exit;
end;
try
FWorkBook := FExcel.WorkBooks.Add;
//FWorkSheet := FWorkBook.WorkSheets.Add;
FWorkSheet := FWorkBook.WorkSheets[1];
//這里加代碼將圖片復制到粘貼板
FWorkSheet.Cells[1, 1].PasteSpecial;//將粘貼板里面的圖片粘貼到第一行,第一列
finally
FExcel.Visible := True;
end;
uj5u.com熱心網友回復:
我就是這樣做的,要不就是貼不上,要不就是貼出來帶邊框不符合要求uj5u.com熱心網友回復:
貼你的代碼看下。。。邊框不符合要求是怎樣的?
uj5u.com熱心網友回復:
procedure Tgcglfrm.pstpic(sheet_s:olevariant); //從圖庫(excel檔案)中復制下料單圖示var
i,ys:integer;
soup,sheet:olevariant;
begin
try
ys:=0;
soup:=exl.workbooks.open(gcmgfln.Value);
ys:=1;
finally
if ys=1 then
begin
try
ys:=0;
sheet:=soup.sheets[xldfrm.bhc.Text];
ys:=1;
finally
if ys=1 then
begin
sheet.Range[ 'A2:f16' ].Copy;
sheet_s.cells[2,1].PasteSpecial;
end;
end;
end;
end;
end;
sheet是模板檔案,sheet_s是目標檔案
uj5u.com熱心網友回復:
上述代碼最主要的是從一個檔案中拷出圖片后在剪貼板上,但是執行了粘貼剪貼板操作“ sheet_s.cells[2,1].PasteSpecial;”后沒有任何反應,但是手動粘貼就能貼上,說明圖片已經被復制了,只是粘貼代碼是無效的uj5u.com熱心網友回復:
那就是這句沒起作用:sheet_s.cells[2,1].PasteSpecial;
你試著不要將sheet_s作為引數傳遞,定義成一個全域變數呼叫試下。
uj5u.com熱心網友回復:
剛才試了沒用,不過可以照著你的思路看看哪里有問題轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/131894.html
標籤:語言基礎/算法/系統設計
上一篇:圖片存入DBF二進制備注欄位(Blob型別),是用什么壓縮二進制資料
下一篇:AB RSLink 引數
