掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBAでJPEGの解像度を変更して保存するには? (ID:139817)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
前回便乗質問で大変ご迷惑をおかけいたしました。 あらためて質問をさせていただきます。 ACCESS2007のVBAでJPEGファイルを読み込み、指定の解像度に変更して 保存するという処理を実装したいと思い、下記URLにたどりつきました。 http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200803/08030008.txt ここにかかれている内容を参考にしてみましたが、GdipSaveImageToFileで保存ができません。 ■エラー内容 パブリック オブジェクト モジュールで定義されたユーザー定義型に限り 変数に割り当てる事ができ、実行時バインディングの関数に渡すことができます。 開発環境はVistaSP1+ACCESS2007(VBA)です。 コンパイルエラーは次の箇所で発生します。 EncodParameters.Count = 1 With EncodParameters.Parameter(0) .Guid = ConvCLSID(CLSID_QUALITY) <ここのConCLSIDでエラー .NumberOfValues = 1 .Type = 4 .Value = VarPtr(Quality) End With Ret = GdipSaveImageToFile(lngBmp, StrPtr(DestFileName), ConvCLSID(CLSID_JPEG), VarPtr(EncodParameters)) ConvCLSIDは Private Function ConvCLSID(ByVal sGuid As String) As UUID CLSIDFromString StrPtr(sGuid), ConvCLSID End Function としております。 魔界の仮面弁士様より ユーザー定義型、および、それを引数に受け取るプロシージャ等を、 すべて Private で宣言してみてください。 との返信を頂きました。ありがとうございます。 ソースを見直しして検索などでもPublicで宣言している箇所がないかチェックしましたが、該当するところはありませんでした。 全て標準モジュール内で処理しているのが良くないのでしょうか? 同エラーで検索するとクラスモジュールで定義すれば良いのでは? という内容もあるのですが、クラスモジュールは利用した事がないのでこれから学習します。 このような状況でなにかヒントがございましたらよろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.