NC指示書用EXCELマクロ 続き その2

前回の、NC絵シートの全削除に続いて、今回は新しいNC絵の挿入用マクロを作成します。
考え方ですが、WinShotを使用してハードコピーを撮った場合、
 1.ファイル名は”WS000000.bmp”、”WS000001.bmp”と連番
 2.出力フォルダは”マイドキュメント¥マイピクチャ¥WinShot”
と、ファイルが自動保存される様、WinShotの環境設定-基本設定で決めています。

以上から、WinShotフォルダに入っている画像ファイル全てを自動的に選択して、画像ファイル毎にひとつのシートを作成して、指示書ファイルの最後に挿入していく様にすればマクロの実行だけで済むので、手間がないとは思いましたが、上下型のNCデータを確認しながらハードコピーを撮ったり、その他の例外の事も考えると、必要ファイルだけを自分で選択するという考えでマクロを作成していくことにしました。

まず最初の画像ファイルの選択ですが、よく見かけるファイルを開いたり、選択するダイアログボックスにFileDialogオブジェクトがあります。これは開くフォルダやファイルの拡張子を指定出来ますし、選択するファイルもひとつ又は複数が選べて便利です。下はEXCELのヘルプで見たFileDialogオブジェクトのメンバです。

FileDialogオブジェクトのメンバ


これを使って、次のマクロを作成しました。

With Application.FileDialog(msoFileDialogFilePicker)
   .InitialFileName = WinShotPath  WinShotPathは変数でWinShotフォルダのパスを指定してます
   .Title = "工具軌跡図選択"
   .Filters.Clear
   .Filters.Add "画像ファイル", "*.bmp;*.jpg"     拡張子がbmpかjpgだけを選択対象にしてます
   .AllowMultiSelect = True                複数ファイルを選択可能にしています
   SelResult = .Show
   If SelResult = 0 Then           Ifはファイル選択状況によりマクロを終了させる為に設定
      Exit Sub                SelResultは変数(選択なし=0)
   End If
End With

このマクロを実行した状況が下の写真です。これで直接ファイルを選択する事が出来ます。

FileDialogの実行状況

選択したファイルはSelectedItemsに格納されるのですが、選択した順番には並んでないようです。というのも上のダイアログで上から順番に”WS000000.bmp”、”WS000001.bmp”と選択してOKボタンを押すと、SelectedItemsの最初に、一番最後に選択した”WS000014.bmp”が入ってしまいます。2番目以降は正常です。逆に下から順番に選択すると、思っていた順番どおり”WS000000.bmp”から格納されます。最後に選択したファイルが一番最初になる様です。これはSHIFTキーを押しながらの選択でも同じです。
なので、最後から選択していけば、とりあえず大丈夫なんですが、やはりソートしておいた方が無難そうです。ただ、ヘルプを見てもセル範囲のデータをソートするメソッドはあるのですが、直接変数をソートするのはなさそうです。ですから、一旦仮のシートに 挿入してソートするか、自前で考えるかどちらかになりそうです。
その辺は次回です。
関連記事

スポンサードリンク



web拍手 by FC2

スポンサードリンク


[ 2012/04/25 20:06 ] ソフト関係 | TB(1) | CM(0)

コメントの投稿













管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL


まとめteみた.【NC指示書用EXCELマクロ 続き その2】

前回の、NC絵シートの全削除に続いて、今回は新しいNC絵の挿入用マクロを作成します。考え方ですが、WinShotを使用してハードコピーを撮った場合、1.ファイル名は”WS000000.bmp”、”WS0000...
[2012/04/25 20:21] URL まとめwoネタ速suru