2024年4月19日金曜日

マクロの図形絡みで処理する奥義を、ご披露したいと思って、シコシココードを作ってみたのでござる ー Shape & ChartObject(VBAマクロ)

            
前回の投稿に続いて、セル範囲を180度回転させてから画像を保存する話です。
この方法は、シェイプの画像保存よりも、簡単なマクロコードになっています。

シェイプは、各々を配列にまとめて”Range”として設定するのが少し複雑だな。
これに対して、今回はセルに入力された内容の範囲を指定するだけなので簡単。

ネットから紹介されているコードを、色々と参考にしながらまとめてみました。
それで、宛名書きにセルの内容を使う時は、セルの枠線を消しておくのが肝心。

簡単な宛名の印刷なら、こちらのセル範囲を使ってデータを流し込むの便利ね。
複雑な構成のデザインなら、文言の配置が自在になるテキストボックスだろう。

なので、どちらが適当なのかは、コードを書く時に判断していただきましょう。
そこで再説しますが、要点は封筒のあて名書きの書く方向次第だという事です。

封筒をプリンターの手差しトレイで印刷して、封のベロを左に見て書く場合ね。
手差しトレイでは、封筒を底部からセットしますので、この工夫が必要な分け。

        
まあ、ここまでやる必要があるのかどうかは分かりませんが、理由があるのだ。
出荷製品の領収書を同封する封筒を印刷するコードが必要になるかもしれない。

この話は、社内で一度持ち上がりましたが、作っている最中で沙汰闇になった。
だって、メインフレームシステムでも印刷できるからという話ではあったのよ。

なので、コードを書いても使うかどうかは分かりませんが、暇つぶしに準備だ。
というわけで、ワードとエクセル連携で、まともな封筒印刷ができるお話です。

これに関連したVBAの投稿は、連続してアップしているので、通して読んでいただければ、マクロの図形絡みで処理する奥義を理解していただけると、自画自賛の自分なのでした。

※参考マクロコード
Sub RngChartSve() 'セル範囲をチャートに載せて画像保存
Dim Rng As Range, Chrt As chart, ChrtNme As String
  ActiveWindow.DisplayGridlines = False  'セルのグリッド線消去
    Set Rng = Range("A1:E5")
      ChrtNme = "C:" & Environ("HOMEPATH") & "\Downloads\" & "CellPict.png"
    Rng.CopyPicture
Set Chrt = ActiveSheet.ChartObjects.Add(0, 0, Rng.Width, _
  Rng.Height).chart  'セル範囲をカバーするチャートオブジェクトを追加
    With Chrt
      .Parent.Select
        .Paste 'シート上に表示
          ActiveSheet.ChartObjects(1).chart.ChartArea.Format.Line.Visible _
              = msoFalse 'オブジェクトの外枠線消去
            Selection.ShapeRange.IncrementRotation 180 '180度回転
              .Export ChrtNme  'チャートを保存
    End With
  ActiveSheet.ChartObjects(1).Locked = False  'シート上に1つだけの認識
ActiveSheet.ChartObjects(1).Delete
  ActiveWindow.DisplayGridlines = True 'セルのグリッド線表示
End Sub



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2024年4月17日水曜日

図形・オートシェイプを回転させたり、枠線を非表示にするなど、少し面倒なコードを書きあげてみた ー Shape & ChartObject(VBAマクロ)

          
封筒のあて名を書く時、横書きにすると、少し戸惑いを感じることがあります。
それは、封をするベロの位置を左にして書くのか、右にするのかという書き方。

縦書きの長三封筒だと、ベロのある上部に郵便番号のマス枠が印刷されている。
これを考えると、ベロを左側に置いて、宛名を横書きにするのが普通と思うな。

ところが、OA化で複合機のプリンターを使って、宛名印刷をする時は右側なの。
先ず、手差しで容紙を送るゴムローラーがベロ部からだと紙詰まりを起こすな。

しかも、このベロは、折り込んで封をする目的で、両端がカットされています。
この形状は、印刷の紙送りガイドで送られると、紙詰まりしやすいかもしれん。

だから、トラブルを防ぐためには、底部から紙送りがされるように配置するな。
すると、写真のように底部を左にして、横書きの宛名が印刷される分けなんだ。

まあ、VBAのプログラムで考えた場合、底部から印刷するのは問題ありません。
問題は、宛名がベロのある方から横書きされる場合で、プログラムで一工夫だ。

先ず、エクセルのワークシート上にテキストボックスを設けて宛名書きを入力。
このテキストボックスを180度回転させてから、画像として保存するやり方ね。

       
後は、ワード側のマクロから、画像を指定した位置に貼りつける作業をします。
まあ、印刷目的でエクセルからワードを操作する、前回の投稿が参考になるな。

次に、セルに宛名を入力した手法があり、これは少しややこしい操作をします。
回転させないで画像として保存してから、シートに改めて呼出して回転させる。

これを、改めて保存させると言う方法、これは次回の投稿に譲るとしましょう。
というわけで、図形シェイプやテキストボックスをグループにして回転します。

この方法を使えば、複合印刷機の手差しトレイからでも、封筒のベロ側から横書きになる宛名書きができるようになるので、便利だと思った方は試してみてもらいたいと思うのでした。

※マクロのコード(写真の通り、三つのテキストボックス)
Sub ObjctGrpngImgSve()  '三つのオブジェクトをグループ化で画像保存
Dim SN(0 To 2) As String, N1 As Single, N2 As Single, cht As chart
  SN(0) = ActiveSheet.Shapes(1).Name  'オブジェクト1の名前で格納
    SN(1) = ActiveSheet.Shapes(2).Name  'オブジェクト2名前で格納
      SN(2) = ActiveSheet.Shapes(3).Name  'オブジェクト2名前で格納
ActiveSheet.Shapes.Range(SN).Group.Name = "group1"
  ActiveSheet.Shapes("group1").Select
     Selection.ShapeRange.IncrementRotation 180
      N1 = Selection.Width
      N2 = Selection.Height
    Selection.CopyPicture appearance:=xlScreen, Format:=xlPicture
    ' Chartに画像を挿入して貼り付け
Set cht = ActiveSheet.ChartObjects.Add(0, 0, N1, N2).chart
  With cht
    .Parent.Select
      .Paste
        ActiveSheet.ChartObjects(1).chart.ChartArea.Format.Line.Visible _
          = msoFalse 'オブジェクトの外枠線消去
            .Export "C:" & Environ("HOMEPATH") & "\Downloads\" & _
              "Address.png" 'チャートを保存
  End With
    Selection.Delete
      ActiveSheet.ChartObjects(1).Delete
        ActiveSheet.Shapes.Range(Array("group1")).Select
      Selection.ShapeRange.IncrementRotation -180
    Selection.ShapeRange.Ungroup.Select '保存後の原状復帰、後処理工程
End Sub



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2024年4月15日月曜日

年老いてくると、自分の人生で、あと何回花を咲かせられるのだろうかと思いつつ、意外に回数の少ないのをなげく ー 植物栽培の自分史(2)(ガーデニング)

ハナニラ
         
忘備録として、十五年くらい、ベランダで栽培した植物を思い出してみました。
というのも、栽培に失敗したり、止めてしまったものは、忘れるかもしれない。

記憶のある内に書き留めておくのも良いなと思いましたが、意外にたくさんだ。
もう一度、栽培してみたい植物はありますが、山野草の種子は入手しにくいな。

<我が家のガーデニング栽培記録>
③ 栽培を再開または新しく予定する植物
 ナノハナ:開花時期:2~4月 一年草 繁殖力強い
  栽培経緯:近所で種子を採取、以後は自宅で種子を採取 時折栽培
 アメリカアサガオ(ブルー):開花期7~9月 一年草 つる性
  栽培経緯:近所で種子採取 栽培容易
 ネモフィラ:開花時期:4~5月栽培容易
  栽培経緯:百均種子 近所では種子を未採取

④栽培に失敗した植物
 オキナグサ:開花時期1〜3月下旬頃 宿根草 発芽に失敗
  栽培経緯:種子をご厚意で入手 
 ジイソブ(ツルニンジン):開花時期8〜10月頃 つる性 発芽に失敗
  栽培経緯:種子をご厚意で入手 グリーンカーテン

⑤ 栽培を終えた植物(栽培再開の予定が今のところ無い)
 ツルボ(ピンク):開花時期:10~11月 鉢植え開花は困難
  栽培経緯:近所で種子を採取
 シラン:開花時期:3~5月 根茎多年草 鉢植え開花は困難
  栽培経緯:根茎を近所で採取 
 ヒガンバナ(イエロー・赤)開花時期:9月 鉢植え開花は困難
  栽培経緯:球根を近所で採取  
 タマスダレ(玉簾):8-9月 球根植物 鉢植え開花は困難
  栽培経緯:球根を近所で採取 
 スイセン:12~3月 球根植物  鉢植え開花は困難
  栽培経緯:球根を近所で採取  
 マツバギク:開花期:4~5月 多肉植物 花の咲きが悪く中止
  栽培経緯:挿し芽で繁殖 
 オオトキワツユクサ(大常盤露草):開花時期:5~6月 一年草
  栽培経緯:こぼれ種で自生したらしい 
 クリムゾンクローバー:開花時期:4~5月 一年草 緑肥で実験
  栽培経緯:種子を購入  
 フウセンカズラ:開花時期:7~9月 一年草 つる性
  栽培経緯:種子を近所で採取 グリーカーテン用 栽培は容易 
 ルコウソウ:開花時期:7~9月 一年草 つる性
  栽培経緯:種子を近所で採取 グリーカーテン用 葉が小さい 栽培は容 
 オキナワスズメウリ:開花時期:7~9月 つる性 一年草
  栽培経緯:近所で種子採取 ゴーヤのほうがマシ グリーンカーテン用 
 ヘクソカズラ:開花時期:8~10月 多年草 つる性
  栽培経緯:近所で種子採取 グリーカーテン用 鉢植えは成長しなかった 
 オニドコロ:開花時期7~9月 根茎多年草
  栽培経緯:近所で種子採取 つる性 グリーカーテン用 イモは有毒 
 ヒメドコロ:開花時期7~9月 根茎多年草
  栽培経緯:近所で種子採取 つる性 グリーカーテン用 イモは食用 
 アップルミント:開花期:6~7月 宿根草 
  栽培経緯:挿し芽で育成 鉢植えは枯れやすい 
 イモネノホシアサガオ(ピンク):開花期7~9月 根茎多年草
  栽培経緯:近所で種子採取 栽培用意  根茎食用 
 マメアサガオ:開花期7~9月 一年草 つる性 根茎多年草
  栽培経緯:近所で種子採取 栽培用意 グリーンカーテン用 葉が小さい 
 ナガミヒナゲシ:開花時期:4~6月 一年草 花の色が意外に汚い
  栽培経緯:近所で種子採取 栽培用意 繁殖力強く有害 
 セイヨウタンポポ:開花時期:4~6月 多年草 繁殖力強い 
  栽培経緯:近所で種子採取  
 ホトケノザ:開花期:3~4月 一年草 野草 閉鎖花でピンクの花が咲かず
    栽培経緯:こぼれ種で自生したらしい
 タネツケバナ:開花期:3~5月 一年草 野草 
    栽培経緯:こぼれ種で自生したらしい
 チチコグサモドキ:開花期:3~5月 一年草 野草 
    栽培経緯:こぼれ種で自生したらしい



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



2024年4月13日土曜日

年老いてくると、自分の人生で、あと何回花を咲かせられるのだろうかと思いつつ、意外に回数の少ないのをなげく ー 植物栽培の自分史(1)(ガーデニング)

オキザリスペルシコロール
         
忘備録として、十五年くらい、ベランダで栽培した植物を書き上げてみました。
植物の種類に分けて、植物名、開花時期、栽培中か終了なのかを書き残します。

自分も思い出しながら列挙していったのですが、結構な植物を栽培しています。
こぼれ種で自然と生えた雑草は除きましたが、最近は種子袋の整理が大変です。

<我が家のガーデニング栽培記録>
① 栽培を続けている植物(一年草)
 ノースポール:開花時期:12~5月 一年草
  栽培経緯:種子を近所で採取 栽培容易 
 ニゲラ:開花時期:5~6月 一年草
  栽培経緯:種子を近所で採取 栽培容易 
 セキチク(ナデシコ・ピンク):開花時期:4~5月 開花は肥料次第
  栽培経緯:近所で種子を採取 
 カーネーション(レッド):開花時期:4~5月 開花は肥料次第
  栽培経緯:近所で種子を採取 
 アサガオ(曜白・青):開花期7~9月 一年草 つる性 
  栽培経緯:近所で種子採取 栽培は簡単 
 アサガオ(単純ピンク):開花期7~9月 一年草 つる性
  栽培経緯:近所で種子採取 栽培は簡単  
 アサガオ(縁白・赤紫):開花期7~9月 一年草 つる性
  栽培経緯:近所で種子採取 栽培は簡単 
 アサガオ(縁白・青):開花期7~9月 一年草 つる性
  栽培経緯:自宅で種子採取 交配で色変化 栽培は簡単 
 ゴーヤ(白・緑):開花期7~9月 一年草 つる性
  栽培経緯:野菜から種子採取 グリーカーテン用で実験 
 ゲンゲ(レンゲソウ):開花時期:2~4月 一年草 初期は緑肥実験
  栽培経緯:種子を購入、以後は自宅で種子を採取 鑑賞用・栽培は容易

②栽培着手あるいは継続中の球根・根茎植物や多年草
 ノビル:開花期4~5月 球根植物 山菜 ネギ坊主
  栽培経緯:近所で球根採取、現在収穫目的
 ハナニラ(ホワイト・ブルー):開花時期2月~4月 球根植物 間引き必要
  栽培経緯:近所の焔魔堂で採取が最初 
 ムスカリ:開花時期3~4月 球根植物 間引き必要
  栽培経緯:近所で球根を採取 栽培容易、花の付き方は肥料次第
 オキザリスフラバ(イエロー):開花時期12~2月 球根植物 間引き必要
  栽培経緯:近所で無料配布あり 栽培容易
 オキザリスパルマピンク:開花時期12~2月 球根植物 間引き必要
  栽培経緯:近所で無料配布 栽培容易
 オキザリスペルシコロール:開花時期1~3月 球根植物 間引き必要 
  栽培経緯:近所で無料配布 栽培容易
 イモカタバミ(赤紫):開花時期:2~4月 球根植物 間引き必要
  栽培経緯:近所の露地で採取 栽培容易
 ホタルブクロ(カンパニュラ・白):開花時期:4~5月 宿根草 間引き要
  栽培経緯:近所で種子を採取 発芽まで要注意・栽培容易
 ヒオウギ(花+観葉):開花時期:6~7月 宿根草 
  栽培経緯:種子を無償入手 二年目で開花まであと一年
 ツリガネニンジン:開花時期:9~11月 山野草 用土選択が難しい
  栽培経緯:近所で種子を採取 
 フリージア(イエロー):開花時期:2~3月 球根植物 間引きが必要
  栽培経緯:近所で球根を採取 栽培容易 
 アジサイ(低木):開花時期:5~6月 現在挿し芽6株育成中
  栽培経緯:害虫の食害で枯れ死の後、復活栽培
 ローズマリー(匍匐性低木):開花期:6~7月 
  栽培経緯:無料提供の若芽で挿し芽育成 三年目で開花
 ヘンルーダ(低木):開花期:6~7月 アゲハ蝶飼育・猫除け
  栽培経緯:種子を購入 発芽は容易
 オオバウマノスズクサ:開花期7~8月 宿根草 つる性 木本植物
  栽培経緯:挿し芽で育成 用土選択が難しい・鉢植えは生育しにくい
 ウマノスズクサ:開花期7~8月 宿根草 つる性 草本植物
  栽培経緯:挿し芽で育成中 種子は発芽せず 鉢植えは生育しにくい
 ヤマノイモ:開花期7~9月 根茎多年草 グリーカーテン用で実験 
  栽培経緯:近所で種子採取 つる性
 朧月(おぼろづき):開花期:4~5月 多肉植物 
  栽培経緯:挿し芽で繁殖 繁殖が強く廃棄検討
 ナツミカン(低木):アゲハ蝶幼虫の食草として待機植物の試み
  栽培経緯:果物の種子から採取して鉢植え育成中



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村