« Delphiでのメモリリーク | トップページ | MiBarcode ver7.1アップデート »

2017.05.16

MiBarcode ver7.1フルパッケージ版

Excelでオートメーションサーバ機能を使用する際にクリップボード関連のエラーが発生する対策としていくつかのプロパティとメソッドを追加してクリップボードを介さずに作成したバーコードを貼り付けられるようにしました。
また、合わせてプロパティ、メッソドの一部と、MiBarcode本体の「名前をつけて保存」機能の不具合も修正しています。
主な変更点は、
1) ExcelのVBAでクリップボードを使用せずにバーコード貼り付けを行うために、オートメーションサーバ機能にプロパティAutoCopy,ClipBWatchとメッソドSaveTempPictを追加。
2)名前を付けて保存(SaveFileメソッド含む)でメタファイルを保存できなかった不具合を修正。
です。

クリップボードを使用しない方法については、サンプルファイルQR_sample4.xlsmのVBAマクロを参照して下さい(以下は抜粋です)。

MiBar.CopyType = 0      '作成する画像の種類(0=Bitmap)
MiBar.AutoCopy = 0      '自動コピーをOFF
MiBar.ClipBWatch = 0    'クリップボード監視OFF
 
'コードをセット
MiBar.Code = Code
'バーコードを作成
MiBar.Execute
pfname = MiBar.SaveTempPict 'バーコードを一時ファイルに保存して、そのフルパス名を返す
         
'カーソルをセットする処理
Cells(i, 1).Activate
'一時ファイルを選択位置に直接読み込む
Set myShape = ActiveSheet.Shapes.AddPicture( _
    Filename:=pfname, _
    LinkToFile:=True, _
    SaveWithDocument:=False, _
    Left:=Selection.Left, _
    Top:=Selection.Top, _
    Width:=0, _
    Height:=0)
         
'--(2) 挿入した画像に対して元画像と同じ高さ・幅にする
With myShape
   .ScaleHeight 1, msoTrue
   .ScaleWidth 1, msoTrue
End With

ver71.をインストールする前に、MiBarcodeをインストールしたフォルダにあるAuninst.batを管理者権限で実行して、その後現在のMiBarcodeをコントールパネルのアンインストールからアンインストールして下さい。

「Mibarcd71.zip」をダウンロード

ダンロードしたMibarcd71.zipを解凍して、Mibarcd71.exeを実行するとインストールできます。


|

« Delphiでのメモリリーク | トップページ | MiBarcode ver7.1アップデート »

コメント

nw-7で スタートストップ設定でA~A で設定しましたが
表示されません。
数字の部分にA~Aが表示されていないバグでしょうか?

投稿: purin | 2017.08.13 15:13

確かに表示されませんね。
また、スタート・ストップキャラクタがMiBercode終了時に保存されていないようです。
貴重な情報をありがとうございました。
次のバージョンアップで修正します。

投稿: M&I | 2017.08.20 11:57

MiBarcodeをExcelVBAで使用させていただいています。
CODE128でスタートキャラクタを〝C〟にしたいのですが、
どのように設定すればよいでしょうか?

Windows7
Version:7.3.1.0

ちなみに
下記のように書いています。
'基本オプションを設定
MiBar.Show (0) 'ウィンドウを隠す
MiBar.CodeType = 10 'コード128
'MiBar.StartChar =
MiBar.HMargin = 1
MiBar.Height = 30
MiBar.BarScale = 0
MiBar.CopyType = 1

MiBar.StartChar =
で指定すればよいと思いますが、
値を何にすれば、〝C〟になるか教えてください。

お忙しいところ申し訳ありませんが
よろしくお願いいたします。



投稿: なわた | 2018.07.24 15:42

StartCharにCを指定してください。VBAの場合は以下の通りです。
MiBar.StartChar = "C"

#他のスタートキャラクタを指定する場合も""で括って指定してください。

投稿: M&I | 2018.07.25 05:10

MiBarcode7.31をExcelVBAで使用させていただいております。
Windows7からWindows10になってクリップボードからの貼り付けが不安定になったため、添付されていたQR_sample4.xlsmのコードを参考にさせていただき、クリップボードを介さないマクロへの改善をトライしております。
結果として、一旦うまく貼り付けされるものの、ファイル保存の段階で、すべてのバーコードが C:\Users\ユーザ名\AppData\Roaming\Mibarcd\ に最後に保存されるバーコード(ビットマップ)に置き換わってしまう不具合が発生しております。
(QR_sample4.xlsmでテストしても同じ現象のようです)
なにか回避する方法がありますでしょうか?

投稿: zenzen | 2020.01.08 16:40

申し訳ありませんm(__)m
今更なのですが、QR_sample4.xlsmのVBAコード中にあるActiveSheet.Shapes.AddPictureに渡すパラメータの設定に間違いがありました(バーコード画像ファイルがExcelのPictureにファイルリンクされていたため、保存したExeclシートを再度開いた際に全てのバーコードが最後に保存された画像で更新されていたようでした)
VBAコードのActiveSheet.Shapes.AddPicture部分を以下のように修正してみてください。
 
誤)
LinkToFile:=True, _
SaveWithDocument:=False, _
 
以下の
 
正)
LinkToFile:=False, _
SaveWithDocument:=True, _
 
#次Verの正式版公開時にサンプルファイルも修正版に差し替えます。

投稿: M&I | 2020.01.11 09:35

ご提示いただいた修正コードを適用し本件は解決しました。
ご対応ありがとうございました。

投稿: zenzen | 2020.01.11 17:15

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: MiBarcode ver7.1フルパッケージ版:

« Delphiでのメモリリーク | トップページ | MiBarcode ver7.1アップデート »