Vol.860 6.Jan.2023

Excelで差込印刷 (Pr-1)はじめてのProcessing Windows8.1をまだ使いたい

E ExcelデータをExcelで差込印刷

by fjk

 WordでExcelデータを差込んで印刷することはよく行われているが、ExcelでExcelデータを差込んで印刷を行いたく、@Lookup関数を用いる方法と、Aマクロ(VisualBasic)を用いる方法をテストした。
 Excelでは1シートに複数データを、任意サイズで2次元配置が可能で、宛名ラベルなどの小ラベルをA4の用紙で一度で多数作ることができる。用紙の位置合わせをすることで、市販のラベル用紙が利用できるほか、ノーカット用紙に印刷後、カッターで所定サイズに切断しても良い。

★差込むデータシート(”名簿”)の作成(「富山名簿.xlsx」ファイル)
テスト用にExcelデータ(下記「名簿」シート)を作成。
★印刷様式のシート作成(データと別ファイルでも可能だが、同ファイルの方がシート指定だけですむ)
1.ラベル1枚の様式を、単にデータ参照で作成する(「1ラベル」シート)。
2.縦横に並べてみて、用紙にちゃんと収まるか、サイズを決定する(「多ラベル」シート)。
※マクロで文字などの書式指定が出来るが、事前にシートで作成しておくとレイアウトが確認できる。
@【Lookup関数による方法】 (「多ラベル」シートをコピーし、「L関数(0)」に名前変更)
1.検索値を格納するセル(例えばラベルの右上隅)に検索値(例えば番号)を入力。
2.差し込みたいデータセルを選び、LOOKUP関数を記述する。
 <LOOKUP関数の書式>
   LOOKUP(検索値、検索範囲、対応範囲)
    (例) =LOOKUP($G$2,名簿!$A$2:$A$16,名簿!$C$2:$C$16)
3.固定したいセルや範囲に"$"を付けて自動で変更されないようにする。
4.差込設定を行った様式をコピーする。
5.検索値を変更すると、差込データが変わることを確認。
6.印刷する(名前を「L関数」シートに)。
※LOOKUP関数の他、VLOOKUP関数、HLOOKUP関数も同じように利用できるが、引数の数や書式、範囲の設定方法などが異なる。
 
A【マクロ(VisualBasic)による方法】 (「多ラベル」シートをコピーし、「マクロ」に名前変更)
1.「開発」タブで「VisualBasic」を選ぶ
2.「挿入」「標準モジュール」を選ぶ
3.コードを入力
・・・・ファイルの種類を「マクロ有効ブック(XLSM)」で保存すること。(「富山名簿.xlsm」ファイル)
4.実行ボタンを押すと、印刷プレビュー画面が出るので、確認後「印刷実行」
(印刷を中止する場合は「印刷プレビューを閉じる」ボタンを押す)
※例では、データが15行あるので、2ページ分が出力されるが、Each文で出力範囲を指定可能。

テスト用Excelデータ

【マクロプログラム】 (merge-test.zip)

Sub Merge_Print_Test()

  Dim rw As Integer        '変数名は大文字・小文字の区別が無いので注意
  Dim cl As Integer
  Dim n As Integer         '印刷するデータの番号(初期値は0)

  Dim a As Variant         '差し込みたいデータの1列目のデータ
  Dim B As Variant         '差し込みたいデータの2列目のデータ
  Dim C As Variant         '差し込みたいデータの3列目のデータ
  Dim D As Variant         '差し込みたいデータの4列目のデータ
  Dim E As Variant         '差し込みたいデータの5列目のデータ
  Dim F As Variant         '差し込みたいデータの6列目のデータ
  Dim G As Variant         '差し込みたいデータの7列目のデータ
  Dim H As Variant         '差し込みたいデータの8列目のデータ
  Dim I As Variant         '差し込みたいデータの9列目のデータ

  With Worksheets("名簿")  '参照するシートを指定
                           '差し込みたい列の選択(シートの第1列で、先頭行が項目名)
  For Each a In .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
    B = .Cells(n + 2, 2)        '2〜9列目の差し込みデータを変数に格納
    C = .Cells(n + 2, 3)
    D = .Cells(n + 2, 4)
    E = .Cells(n + 2, 5)
    F = .Cells(n + 2, 6)
    G = .Cells(n + 2, 7)
    H = .Cells(n + 2, 8)
    I = .Cells(n + 2, 9)

    With Worksheets("マクロ")        '差し込みたいシートを指定し、各セルに格納
      rw = int(n / 2) * 10           'ラベルの行位置を計算
      cl = (n Mod 2) * 8             'ラベルの列位置を計算
      Cells(rw + 2, cl + 7) = n      'データカウンタ
      Cells(rw + 3, cl + 7) = a.Value '番号
      Cells(rw + 5, cl + 4) = B      '氏名
      Cells(rw + 3, cl + 3) = C      '郵便番号
      Cells(rw + 4, cl + 4) = D      '住所 
      Cells(rw + 6, cl + 5) = E      '電話番号
      Cells(rw + 6, cl + 4) = F      '人口
      Cells(rw + 7, cl + 5) = G      '送信者住所
      Cells(rw + 8, cl + 5) = H      '肩書き
      Cells(rw + 8, cl + 6) = I      '送信者名
    End With
    n = n + 1                        '次の行へ
  Next a
  End With

  Worksheets("マクロ").PrintPreview  '印刷プレビュー

End Sub


差込前

VBAを実行すると・・


P Processing (1) 〜初めてのprocessing

by fjk

 ProcessingはJavaベースの無料のプログラミング言語で、簡単な手順で画像の操作やビュジュアルなゲームなどを作ることが出来る。さらに、シリアル通信やWebアプリケーションの開発も容易である。
 ※「Processingをはじめよう」(オライリージャパン・オーム社、2,000円)を参考にさせていただいた。
 ※ Processingのさらなる詳細は、英文だが、下記ページから Documentation/Refaerenceを参照。

【Processingの入手と起動】
@ processingのページからソフトをダウンロードする(ver.4は64bitのみ)
A 圧縮ファイルを展開し、フォルダーごとprogramfilesに移動(インストール不要)
B processing.exeをクリックするとprocessingが起動する

processing.org

Download

@ コードの記述例
・コードの終わりには「;」セミコロンを付ける
・processingでは大文字、小文字は区別される
・描画範囲(window)の指定は、size(width,height);
・描画範囲の原点(0,0)は左上隅
・塗りつぶし色の指定は、fill(red,green,blue);
 −−− 引数が1文字 fill(gray); はモノクロ
・方形の描画は、rect(x1,y1,x2,y2);
・円の描画は、ellipse(x,y,width,height);
・三角形の描画は、triangle(x1,y1,x2,y2,x3,y3);
・任意四角の描画は、quad(x1,y1,x2,y2,x3,y3,x4,y4);
・描画の実行は、run(右矢印)アイコンをクリック
println(var);で変数値などをコンソールに表示可能
・背景色の指定は、background(red,gree,blue);  −−− 引数が1文字ならモノクロ
・ラインを引くときは、line(x1,y1,x2,y2);
・点を描くには、point(x,y);
・円弧の描画は、arc(x,y,width,hieght,startA,endA); −−− 度数を使う場合は、radians(deg)で変換
・点、ライン(輪郭線)の太さは、strokeWeight(n);
・点、線の色は、stroke(red,green,blue);
・線の両端形状で角は、strokeCap(SQUARE);  −−− デフォルトは丸でROUND、尖りはPRJECT
・四角形の隅形状で丸は、strokeJoin(ROUND); −−− デフォルトは面取り無しでMITER、角面取りはBEVEL
・色指定に第4パラメータ(モノクロなら第2パラメータ)を付けると、透明度(0〜255)を設定できる。

processing画面でコードを入力

Windowに描画した例
size(800,600);
fill(255,255,0);
rect(100,100,500,400);
fill(0,0,255);
ellipse(300,300,200,200);
fill(255,0,0);
triangle(400,550,650,300,700,500);
fill(0,255,0);
quad(450,80,600,50,700,200,400,150);

 
A 線を繋げて形を作る例(vertex関数)
beginShape()・・・endShape()と、vertex(x,y)関数で2次元の形状(shape)を作る。
(endShapeの引数にCLOSEを入れると、最後の点と最初の点を結んでくれる)

shapeをコーディング

描画を実行
size(480,350);
fill(0,255,255);
beginShape();
  vertex(115,161);
  vertex(161,135);
  vertex(154,162);
  vertex(347,213);
  vertex(342,232);
  vertex(149,181);
  vertex(143,208);
endShape(CLOSE);


W Windows8.1をまだ使いたい  〜IE11からEdgeに

by fjk

 Windows8.1は2023.1.10でサポートが終了するが、セキュリティアップデートサービスが終了しただけで、Windowsそのものが使えなくなるのではない(別セキュリティソフト利用を薦める)。
 しかし、Win8.1の標準のInternetExplore11(IE11)は2022.6.15にサポートが終了しており、IE11が「対象外」と表示されるページもある。そこで、Edgeにブラウザを移行しておくのが望ましい。
 Edgeのダウンロードページで、表示されたページ内の下部にあるDownloadで下矢印をクリックすると、Win8.1版を選択できるので、これをダウンロードする。
 IE11ではOSの選択画面では無く、英語版のダウンロード画面になる場合があるが、画面のDownloadボタンを押すと、使用中のOSに合ったEdgeSetupファイルをダウンロードできる。
 ダウンロードしたMicrosoftEdgeSetup.exeを実行するとEdgeのダウンロード、インストールが始まるので、画面の指示に従う。
 インストール終了後、Edgeが無事立ち上がったら、右上の「メニュー(・・・)から「設定」を選び、起動時のページやホームページなどの設定をする。


MicroSoftのDownloadページ


「Edgeへようこそ」画面


※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。


Excelで差込印刷 (Pr-1)はじめてのProcessing Windows8.1をまだ使いたい