|
■No40776 (陽昇 さん) に返信
> 上記環境で、バーコードを作成及び印刷するアプリを作成しています。
状況によっては、バーコード フォントを使うという選択肢も。
> バーコードの作成は出来たのですが、印刷が出来ずに悩んでいます。
PrintDocument で実装するとか。
> ネットで見つけたVB.NETでセルに画像を貼り付けるサンプルでは
> xl.ActiveWorkbook.Worksheets("Sheet2").Pictures.Insert("C:\\temp\\1.jpg").select();
> で、セルに貼り付けているようなのですが・・・。
どう見ても、VB.NET の構文では無いですよコレ。
"\" が "\\" と表記されていますし、末尾に セミコロンもありますので、
C# で無いとしたら、JScript のコードでしょうかね。
> VC#で、Excelに画像を貼り付ける方法をご存知であればご教示ください。
方法は幾つかありますが、とりあえずその一つを。
# 以下、基本的な Excel 制御(Excel を開き、セル上のデータを読み書きするなど)は
# ご自身で実装出来るという前提で回答しています。
// (1) 対象の Excel.Worksheet オブジェクトの Shapes プロパティから、
// Excel.Shapes オブジェクトを取得する。
var shapes = targetSheet.Shapes;
// (2) Excel.Shapes オブジェクトの AddPicture メソッドを呼び出し、
// Excel.Shape オブジェクトを取得する。メソッド引数にはファイル名と座標を指定。
var shape = shapes.AddPicture(fileName, Office.MsoTriState.msoFalse, Office.MsoTriState.msoTrue, left, top, width, height);
// もし、特定のセル位置に併せて配置したい場合には、対象セル範囲を示す Excel.Range オブジェクトの
// Top / Left / Width / Height プロパティから、セル位置の座標を得る事ができます。
// (3) 画像の貼り付けはこれで完了。必要に応じて、Excel.Shape オブジェクトのプロパティ等を用いて、
// 画像の背景や枠線色などを調整できます(今回は不要かと思いますが)。
// (4) 最後に、使用していた Excel オブジェクトを破棄します。
if(Marshal.IsComObject(shape)) Marshal.ReleaseComObject(shape);
if(Marshal.IsComObject(shapes)) Marshal.ReleaseComObject(shapes);
if(Marshal.IsComObject(targetSheet)) Marshal.ReleaseComObject(targetSheet);
|