ソスソスDelphi Q & Aソスfソスソスソスソス
|
ソスEC/C++
ソスEDelphi
ソスEVisual BasicソスソスソスSソスソス
ソス@(VB2-VB6ソスソス.NETソスソスソスp)
ソスEVisual Basic(VB2-VB6)
ソスEVisual Basic .NET
ソスEVisual C++
//GetAPP0_Offsetソス゚具ソスソスソスソスOソスソスソスソスソスp
functionGetAPP0_Offset(Ms:TMemoryStream):Integer;
var
p1,p2:PByte;
begin
result:=-1;
p1:=Ms.Memory;
while(Integer(p1)-Integer(Ms.Memory))
ifp1^=$FFthen
begin
p2:=p1;
Inc(p2);
ifp2^=$E0then
begin
result:=Integer(p1)-Integer(Ms.Memory);
exit;
end;
end;
Inc(p1);
end;
end;
procedureTForm1.Button1Click(Sender:TObject);
var
Bmp:TBitmap;
Jpg:TJpegImage;
Ms:TMemoryStream;
APPO_Offset:Integer;
Units,Hidpi,Lodpi:Byte;
dpi:WORD;
ExcelFile,ExcelSheet:String;
MyFormat:Word;
AData:THandle;
APalette:HPALETTE;
begin
Jpg:=TJpegImage.Create;
try
Bmp:=TBitmap.Create;
Ms:=TMemoryStream.Create;
try
Bmp.Width:=2955;
Bmp.Height:=1622;
SetStretchBltMode(Bmp.Canvas.Handle,HALFTONE);
StretchBlt(Bmp.Canvas.Handle,219,0,2736,1622,
Image1.Canvas.Handle,0,0,Image1.Picture.Width,Image1.Picture.Height,SRCCOPY);
Jpg.Assign(Bmp);
Jpg.SaveToStream(Ms);
APPO_Offset:=GetAPP0_Offset(Ms);
Ms.Position:=APPO_Offset+2+9;
Units:=1;
Ms.Write(Units,1);
//ソス像度ソスソス300ソスノ設抵ソス
dpi:=300;
Hidpi:=HiByte(dpi);
Lodpi:=LoByte(dpi);
Ms.Write(Hidpi,1);
Ms.Write(Lodpi,1);
Ms.Write(Hidpi,1);
Ms.Write(Lodpi,1);
Ms.Position:=0;
Jpg.LoadFromStream(Ms);
finally
Bmp.Free;
Ms.Free;
end;
ExcelFile:='C:¥Test.xls';
ExcelSheet:='Test';
try
ExcelApplication1.Connect;
ExcelApplication1.Visible[0]:=True;
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open
(ExcelFile,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,0));
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[ExcelSheet]as_Worksheet);
try
//SaveToClipboardFormatソスナゑソスBitmapソス`ソスソスソスノなゑソス像度ソスソス72dpiソスノ戻ゑソス
Jpg.SaveToClipboardFormat(MyFormat,AData,APalette);
ClipBoard.SetAsHandle(MyFormat,AData);
//SaveToFileソスナゑソス300dpiソスナ出ソスヘでゑソスソスソス
Jpg.SaveToFile('d:¥test.jpg');
ExcelWorksheet1.Range['A1','A1'].Select;
//ソスNソスソスソスbソスvソス{ソス[ソスhソスソスソスソスVソス[ソスgソスノ画像ソス¥ソスソスtソスソス
ExcelWorksheet1.Paste;
except
ExcelWorksheet1.Range['A1','A1'].Select;
end;
ExcelWorkbook1.SaveAs('c:¥Test2.xls',Null,Null,Null,Null,Null,
xlNoChange,Null,Null,Null,Null,Null,0);
finally
ExcelApplication1.Disconnect;
end;
finally
Jpg.Free;
end;
end;
ソスソスLソス¥ソス[ソスXソスナ、Image1ソスノ表ソスソスソスソスソス黷スソス鞫懶ソスソスgソス蛯オソスAソス像度ソスソス300ソスノ変更ソスソスソスソスJpegソスソス
ExcelソスソスSheetソスノクソスソスソスbソスvソス{ソス[ソスhソスoソスRソスナ貼ソスソスtソスソスソスソスソスソスソスニ思ソスソスソストゑソスソスワゑソスソスB
ソスNソスソスソスbソスvソス{ソス[ソスhソスソスoソスRソスソスソスネゑソスソストゑソスソスソスソスソスソスナゑソスソスソスソスAソスソスソス黷オソスソスソスvソスソスソスツゑソスソスワゑソスソスソスナゑソスソスソスソスB
ソスソスソスソスソスナ、TJpegImageソスソスSaveToClipboardFormatソスソスgソスソスソスト鯉ソスソスソスソスソスナゑソスソスソスソスA
Bitmapソスノ戻ゑソスソストゑソスソスワゑソスソスAソス像度ソスソス72dpiソスノ戻ゑソスソストゑソスソスワゑソスソスワゑソスソスB
SaveToFileソスソスgソスソスソスソス300dpiソスソスJpegソスナ保托ソスソスoソスソスソスソスフで、SaveToClipboardFormat
ソスソスgソスソスソストは厄ソスソスソスソスネんだと擾ソスソスソスノ思ソスソスソストゑソスソスワゑソスソスB
ソスネにゑソスソスヌゑソスソスソスソス@ソスヘなゑソスソスナゑソスソス蛯、ソスソスソスH
ソスソスしソスソスソスソスソス閧「ソスソスソスワゑソスソスB
ソスツ具ソスソスヘ、Delphi7+Excel2003ソスナゑソスソスB
ソスgソスソスkソスソスソス@ソスニ dpiソスフ変更ソス@ソスニの間には抵ソスソスレの関係ソスヘなゑソスソスじゑソスネゑソスソスナゑソスソスソスソスHソスHソスHソスソスソスヘゑソスソスソスソスvソスソスソストゑソスソスワゑソスソスソスソスソスソスB
ソス゚具ソスソスソスソスOソスナゑソスjokソスソスソスソスソス
ソスソスソスソスソスソスヘ出ソスヘデソスoソスCソスXソスニゑソスソスソスソスソスソス¥ソスtソスgソスヨの指ソスソスソスノなゑソスワゑソスソスフで画像ソスソスソスフゑソスフには変会ソスソスソスソスソスワゑソスソスソスB
ソスニ擾ソスソスソスソストゑソスソスワゑソスソスソスソスEソスEソスE
ソスニゑソスソス閧キソスソスソス閧ウソスソス
ソスソスソスソスノゑソスソスヘ。
ソスmソスソスソスノ拡ソスソスkソスソスソスソスdpiソスマ更ソスニの間には抵ソスソスレ関係ソスヘなゑソスソスニ思ソスソスソスワゑソスソスB
ソスソスソスフ包ソスソスソスソスヘ難ソスソスノ厄ソスソスヘなゑソスソスフでゑソスソスソスソスAソス‾ソスソスソスソスソスソスソスハは「300dpiソスフ画像ソスソスExcelソスソス
ソスVソス[ソスgソスノ貼ソスソスtソスソスソスソスvソスニゑソスソスソスソスソスソスネのでゑソスソスB
ソスソスソスソスソスTソスCソスYソスフ画像ソスソス72dpiソスフ包ソスソスニ、300dpiソスフ包ソスソスソスExcelソスノ貼ソスソスtソスソスソスソスニ、
ソスソスソスR300dpiソスフ包ソスソスフ包ソスソスソスソスソスソスソスソスソスソス¥ソスソスソスソスソスソストゑソスソスワゑソスソスワゑソスソスB
ソスソスソスソスソスhソスソスソスソスソス゚に拡ソス蛯オソストゑソスソスソスけソスナゑソスソスB
Excelソスソスソス300dpiソスフ画像ソスソスRソスsソス[ソスソスソスソスニ、ソス¥ソスソスtソスソスソスソスソス鞫懶ソスソス300dpiソスネので、
ソスソスソスヌの擾ソスソスNソスソスソスbソスvソス{ソス[ソスhソスフ使ソスソスソスソスソスフ厄ソスソスネんじゑソスネゑソスソスニ思ソスソスソストゑソスソスワゑソスソスB
EXCELソスナ ソス}ソスソス->ソス}->ソスtソス@ソスCソスソスソスソスソスソス@ソスナ挿ソスソスソスソスソスソスニ確ソスソスソスソスdpiソスノゑソスソスソスト大きソスソスソスソスソスマゑソスソスワゑソスソスヒ・ソスEソスmソスソスネゑソスソスソスソスソスソスB
ソスソスソスソスソスソスソスソスソスソスヘクソスソスソスbソスvソス{ソス[ソスhソスニは会ソスソスフ関係ソスソスネゑソスソスけソスナ・ソスE
ソスuソス}ソスソス->ソス}->ソスtソス@ソスCソスソスソスソスソスソスvソスフ托ソスソスソスソスNソスソスソスbソスvソス{ソス[ソスhソスoソスRソスフ貼ソスソスtソスソスソスナゑソスうソスニゑソスソスソスソスソスソストでゑソスソスワゑソスソスソスBソスiソスニ思ソスソスソスワゑソスソスj
ソスNソスソスソスbソスvソス{ソス[ソスhソスソスソスjpegソスfソス[ソス^ソスニゑソスソスト托ソスソスンゑソスソスソスけソスソスソス痰ソスネゑソスソスナゑソスソス蛯、ソスソスソスB
ソス}ソスソス->ソス}->ソスtソス@ソスCソスソスソスソスソスソスナ挿ソスソスソスソスソスソスソスdpiソスノゑソスソスソスト大きソスソスソスソスソスマゑソスソスワゑソスソスB
ソスソスソスソスソスソスソスソスソス謗ソソスナ茨ソスソスソスナゑソスソスワゑソスソスB
Excelソスソスナゑソスソスフ挿ソスソスソスソスソスソスソス鞫懶ソスソスRソスsソス[ソスソスソスソスニ、ソスNソスソスソスbソスvソス{ソス[ソスhソスoソスRソスナゑソス像度ソスソスロ趣ソスソスソスソスソスソスワま貼ソスソスtソスソスソスoソスソスソスソスフで、ソスoソスソスソスネゑソスソスソスソスヘなゑソスソスニ思ソスソスソスソスナゑソスソスソスソスAソスヌゑソスソスネゑソスナゑソスソス蛯、ソスH
ソスソスソスネみゑソスExcelソスソスナコソスsソス[ソスソスソスソスソス鞫懶ソスヘ、Jpegソスfソス[ソス^ソスソスソスヌゑソスソスソスソスヘ抵ソスソスラてゑソスソスネゑソスナ包ソスソスソスソスソスワゑソスソスが、Jpegソスニゑソスソスト保趣ソスソスソスソスソスソスニ思ソスソスソスワゑソスソスBソスiソス痰、ソスソスソスソスEソスEソスEソスj
JpegソスソスGifソスソスPngソス窿ソス^ソスtソス@ソスCソスソスソスニゑソスソスト変奇ソスソスソスソスト貼ソスソスtソスソスソス骼厄ソスソスoソスソスソスワゑソスソスB
ソスワゑソスソスNソスソスソスbソスvソス{ソス[ソスhソスノゑソスソスソスソスソス骼厄ソスソスネゑソスソスソスナゑソスソスソスソスAソスソスソスソスネ外ソスソスExcelソスノデソス[ソス^ソスnソスソスソスソスソス@ソスソスソスソスソスソスソスソスネゑソスソスソスナゑソスソスソスヒ・ソスEソスE
ソスソス閧スソスソスソスソスソスニゑソスEXCELソス}ソスNソスソスソスナ記ソス^ソスソスソストゑソスソスソスソスソスソスsソスソスソスしソスソスソスソスソス動ソスソスソスワゑソスソスソスB
ソスソスソスソスBDS2006ProソスナゑソスDelphiソスvソスソスソスWソスFソスNソスgソスソスソスニ会ソスソスフゑソスソスソスofficeソスRソスソスソス|ソス[ソスlソスソスソスgソスソスソスソスソスソスソスiソスIソスjソスフで、ソスソスソスソスソスワゑソスソスが、
ソス}ソスソス->ソス}->ソスtソス@ソスCソスソスソスソスソスソス@ソスフマソスNソスソスソスフ抵ソスソスgソスソス
ActiveSheet.Pictures.Insert("ソスKソスソスソスtソス@ソスCソスソス72DPI.jpg")
ソスソスフ記ソスqソスノ托ソスソスソスソスソスネゑソスA
ExcelWorksheet1.Pictures.Insert('ソスKソスソスソスtソス@ソスCソスソス72DPI.jpg');
ソストな奇ソスソスソスソスナゑソスソス蛯、ソスソスソスEソスEソスEソスiソスソスソスソスソスワゑソスソスが)
ソスソスソスソスナ趣ソスソスsソスソスソスしソストみてゑソスソスソスソスソスソスソスソスiソスソスソスモ任ソスj
dpiソスソスマ更ソスソスソストセソス[ソスuソスソスソスAソスソスソスフフソス@ソスCソスソスソスソスソスqソスフ包ソスソス@ソスナイソスソスソスTソス[ソスgソスソスソスソスホでゑソスソスワゑソスソスか?
ソスニゑソスソス閧キソスソスソス閧ウソスソス
ソスソスLソスソスソス@ソスヘ趣ソスソスソスlソスソスソスワゑソスソスソスソスソスソスAPicturesソスヘ使ソスソスソスソスフでゑソスソスソスソスAInsertソスソスソス¥ソスbソスhソスソスソスgソスソスソスワゑソスソスソスEソスEソスEソスニゑソスソスソスソスソスソスソスソスソスワゑソスソスソスEソスEソスE
ソスoソス[ソスWソスソスソスソスソスフ厄ソスソスネのゑソスソスソスソスソスソスワゑソスソスソスヒ。
ソスソスソスソスソスソスソスソスソスソスsソスソスソスしソストみまゑソスソスB
ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスソスソスB
>Jpegソスニゑソスソスト保趣ソスソスソスソスソスソスニ思ソスソスソスワゑソスソスB
WindowsソスソスSDKソスソスソスxソスソスソスソスJpegソスソスFソスソスソスソスソスワゑソスソスソスBソスrソスbソスgソス}ソスbソスvソスノなゑソスニ思ソスソスソスワゑソスソスB
ソスソスソスソスニゑソスソスソス
ソスネゑソスルど。
ソスニゑソスソスソスソスソスソスヘ、ソスNソスソスソスbソスvソス{ソス[ソスhソスソスナはビソスbソスgソス}ソスbソスvソスニゑソスソスト趣ソスソスツゑソスソスニゑソスソスソスソスoソスソスソスネゑソスソスニ鯉ソスソスソスソスソスソスナゑソスソスヒ。
ソスネゑソスルど。ソスネゑソスルど。
ソスワゑソスソスrソスbソスgソス}ソスbソスvソスナはまゑソスソスソスソスナゑソスソスソスソスAJpegソスナなゑソスソストゑソスソスソスソスソスフゑソス300dpiソスソスソスソスソスmソスロ出ソスソスソスソスホゑソスソスソスソスソスナゑソスソスソスソスヌね。
_Worksheet.PasteSpecialソスソスソス¥ソスbソスhソスソスソストゑソスソスソスソスフゑソスソスソスツゑソスソスソスソスソスナ、ソスソスソスソスナなゑソスニゑソスソスoソスソスソスネゑソスソスソスソスネと考ソスソスソスソスソスナゑソスソスB
http://msdn2.microsoft.com/ja-jp/library/microsoft.office.interop.excel._worksheet.pastespecial(vs.80).aspx
PasteSpecialソスナは厄ソスソスソスソスナゑソスソスヒ・ソスEソスE
ソスソスソスヘ解像度ソスネゑソストゑソスフゑソスマ更ソスソスソスソスソスニゑソスAソス}ソスソスソスソスソスソスソス鞫懶ソスフスソスPソス[ソスソスソスソスマ更ソスソスソス驍セソスソスソスナよいソスニ思ソスソスソスB
ソスナゑソスワゑソスソスAソスソスソスワでの暦ソスソスソスノ会ソスソスソスソストゑソスソスソストみまゑソスソスソスソスB
ソスソスソスネみに趣ソスソスソスBDS2006ProソスナゑソスOfficeソスRソスソスソス|ソスソスソスソスソスソスソスiソスソスソスフゑソスソスネ・ソスEソスHソスjソスフで ComObjソスナゑソスソスワゑソスソスB
ソスソスソスヘ便擾ソスHソスソスソス竄オソスソスソスソスソスナゑソスソスB
ソスソスソスソスBDS2006ProソスソスDelphiソスvソスソスソスWソスFソスNソスgソスナゑソスOfficeソスRソスソスソス|ソスソスソスソスソスソスソスソスナゑソスソスソスソスヌ、ソスヌゑソスソスソスソスソスホ・ソスEソスH
ソスソスUsesソス@ソスノ comobjソス@ソスソスヌ会ソスソスソスソス驍アソスソス
procedureTForm1.Button1Click(Sender:TObject);
var
E_Excel:Variant;
E_Application:Variant;
E_WorkBook:Variant;
E_WorkSheet:Variant;
begin
//ExcelソスソスIソス[ソスvソスソス
try
E_Excel:=CreateOleObject('Excel.Application');
E_Application:=E_Excel.Application;
except
onEOleSysErrordobegin
//ソスNソスソスソスソスソスs
ShowMessage('ExcelソスソスソスNソスソスソスナゑソスソスワゑソスソスソス');
E_Excel:=Null;
Exit;
end;
end;
E_Application.Visible:=True;
E_Application.WorkBooks.Open(ExtractFilePath(Application.ExeName)+'MyData.xls');
E_WorkBook:=E_Application.ActiveWorkbook;
E_WorkSheet:=E_Application.ActiveSheet;
//ソスZソスソスA1ソスノ画像ソスソス}ソスソス
E_Application.Range['A1:A1'].Select;
E_WorkSheet.Pictures.Insert('c:¥ソスソスソスソス72DPI.jpg').select;
//ソスソスソスソスソスナ画像ソスソスソスソスRソスノ伸ソスkソスiソスソスソスソスソスソスソスソスソスソスソスソスソスj
E_WorkSheet.Pictures[1].ShapeRange.ScaleWidth(0.5,0,0);
E_WorkSheet.Pictures[1].ShapeRange.ScaleHeight(0.5,0,0);
E_Excel:=unAssigned;
E_WorkBook:=Unassigned;
E_WorkSheet:=Unassigned;
end;
ソスQソスl
http://madia.world.coocan.jp/delphi/delphi_bbs/200602/200602_06020001.html
var
Xlsheet:Variant;
Jpg.SaveToFile('c:¥test.jpg');
Xlsheet:=ExcelWorkbook1.ActiveSheet;
Xlsheet.Pictures.Insert('c:¥test.jpg');
TExcelWorksheetソスナは、Insertソスソスソス¥ソスbソスhソスソスTソス|ソス[ソスgソスソスソストゑソスソスネゑソスソス謔、ソスナ、
ソスソスLソスフようソスノゑソスソス骼厄ソスナ会ソスソスソスソスソスソスソスソスソスワゑソスソスソスソスB
ソスソスソスソスソスソスニタソスCソスgソスソスソスニは趣ソス|ソスソスソスソスソスソスソスソストゑソスソスワゑソスソスワゑソスソスソスソスソスソスAソスソスソスネ会ソスソスソスソスソスワゑソスソスソスソスB
ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスソスソスB
ソスニゑソスソス閧キソスソスソス閧ウソスソス
ソスざソスざソス¥ソス[ソスXソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
ソスソスソスヌのとゑソスソスソスComObjソスgソスソスソスソスソスソスソスソスソスヌゑソスソス謔、ソスナゑソスソスヒ。
OfficeソスRソスソスソス|ソスヘイソス}ソスCソス`ソスフようソスナ・ソスEソスEソスソス
ソスgソスソスソスソスソスソスソスCソス}ソスCソス`ソスネのゑソスソスネゑソスソス`ソスソス
ソスソスソスソスソスソスソスソスフ忘ソスソストまゑソスソスソスソスiソスソスソスj
ソスニゑソスソス閧キソスソスソス閧ウソスソス
BDS2006ProソスソスOfficeソスRソスソスソス|ソスフ鯉ソスソスナゑソスソスソスソスヌ、ソスソスソスソスBDSソスソスソスソスソストゑソスソスネゑソスソスフでなゑソスニゑソスソスソスソスソスネゑソスソスフでゑソスソスソスソスAソスソスソスフソスソスソスソスNソスソスソスソスソスソスソスソスナは、ソスCソスソスソスXソスgソス[ソスソスソスソスソスソスC++ソスpソスソスDelphiソスpソスフどゑソスソス轤ゥソスソスソスソスソスIソスラなゑソスソスフではなゑソスソスソスソスニ思ソスソスソスワゑソスソスB
ソスQソスlソスノなるかソスヌゑソスソスソスソスEソスEソスE
http://homepage2.nifty.com/Mr_XRAY/Delphi/CompoInstall/BDS2006Install.htm
ソスソスソス閧ェソスニゑソスソスソスソスソスソスソスソスワゑソスソスB
ソスソスソスソスソスソスソスソスソスホゑソスソスソスネダソスCソスAソスソスソスOソスソスソスoソストゑソスソスワゑソスソスソスソスBソスソスソス1ソスNソスOソスノなゑソスフでゑソスソスソスソスソスソス闔クソスOソスソスソストゑソスソスワゑソスソスソスソスB