アプリ版:「スタンプのみでお礼する」機能のリリースについて

添付画像で、VBEで書いたCodeと
プログラムをRunした結果を示しました。

?手で埋め込んだ画像は、
プログラムでは、削除できない
これが回答でしょうか?

「教えて下さい VBE_Codingの時に」の質問画像

質問者からの補足コメント

  • うれしい

    何回も教えて頂き、UserForm1.Image1のPictureの差し替えで、
    下記の、Cose-A と Code-B の機能の違いを、確認できました。

    Code-Aの結果
    初期埋込画像① が、書換希望画像② に換わる。
    (プログラム終了後は、Image1の画像は、①のまま)

    Code-Bの結果
    初期埋込画像① が、書換希望画像② に換わる。
    (プログラム終了後は、Image1の画像は、②に置換)

      補足日時:2021/02/08 17:34
  • うれしい

    *** Code-A ***
    '/// Code-A 画像入れ替え UserForm1
    Private Sub CommandButton1_Click()
    UserForm1.Image1.Picture = _
    LoadPicture("C:\Users\変更希望画像.jpg")
    End Sub
    '/// Code-A 画像入れ替え UserForm1
    Private Sub CommandButton2_Click()
    Application.Quit
    End
    End Sub

      補足日時:2021/02/08 17:35
  • うれしい

    *** Code-B ***
    '/// Code-B 画像入れ替え UserForm1
    Private Sub CommandButton1_Click()
    Unload Me
    UserForm2.Show vbModeless
    End Sub

    --- UserForm2 の Code は、別記 ---

    '/// Code-B 画像入れ替え UserForm1
    Private Sub CommandButton2_Click()
    Unload Me
    End
    End Sub

      補足日時:2021/02/08 17:39
  • うれしい

    '/// Code-B 画像入れ替え UserForm2
    Private Sub CommandButton1_Click()
    Dim obj
    Const imgPath = "C:\Users\変更希望画像.jpg"
    Set obj = ThisWorkbook.VBProject.vbcomponents("UserForm1")
    obj.designer.Image1.Picture = LoadPicture(imgPath)
    Unload Me
    UserForm1.Show vbModeless '繰り返し呼ばれる時の対策
    End Sub ’/// UserForm1に、このCodeを書くと、エラー??

      補足日時:2021/02/08 17:41

A 回答 (2件)

こんばんは



なにをなさりたいのかよくわかりませんが・・・

過去の質問で、方法や仕組みについては説明がされているはずです。
https://oshiete.goo.ne.jp/qa/12171713.html
https://oshiete.goo.ne.jp/qa/12176329.html

前回の質問の際に、2種類の方法が示され、どちらも可能であることが確認できていると思いますけれど??
やろうとしていることがわかりませんが、もしも、オリジナルのFormをいじりたいのであるなら、「VBProjectからアクセスしなければならない」ということを理解してください。
    • good
    • 0
この回答へのお礼

fujillinさん、Qchan1962さん
幾度も、本質が理解できずに、
同じお尋ねをしてしまいましたが、
辛抱強く、フォローを頂き、
本当に有難う御座いました。
(理解した結果は、補足として追記した通りです)

なお、混乱した要因の一つは、
VBEのプロパティ ウインドウ(W)のPicture の
使い方の誤用でした。
① クリックして、Image1の枠を表示して、挿入 --- 正常
② Image1の枠を表示しないで、挿入 --------------- 異常
試行錯誤の最中に、正常画像の下に、異常画像が埋め込まれ、
この異常画像は、マウス操作でも、プログラムでも操作不可。
消したつもりの画像が、終了後に、幽霊の様に、表示された。

お礼日時:2021/02/08 18:06

こんにちは、


すでに問題は解決され、ご理解されていると思いますが、
少し気になる点がありましたので、回答いたします。
スキルはお持ちと思いますのでまさかとは思いますが、
fujillinさんへのお礼にある①②は対象が違うと言う事ではないでしょうか?
UserFormオブジェクトにImage1オブジェクトを挿入されていると思います
ご存知かと思いますが、2つのオブジェクト共にPictureプロパティがあります。
②の Image1の枠を表示しないで、とは、BorderStyleプロパティを
0-fmBorderStyleNoneに変更する。と言う事でしょうか?
少し気になりました。

通常?プログラムに通常はないかもしれませんが、デザイン(ロードしていない)で設定するプロパティをロードしてから設定自体を変更するケースは少ないと思います。
(著作表示などデフォルトに埋め込みたい場合はあるかな)
なぜなら、表示するとはロードしているからで、インスタンスで実行すれば、それがデザイン時なのかインスタンス時なのか判断できませんし、デザイン時のそれを変更する場合、VBProjectを呼ぶ必要があり、セキュリティ設定も変えないといけないからだと思います。
従って、デザイン時は設定しない(なし)で作る事が多いと思います。
余計な事まで書いてしまいました。
    • good
    • 0
この回答へのお礼

Qchan1962さん

三回のお尋ねに、詳細なコメントを頂いてきまして、
本当に、有難う御座いました。

10年程前に、参考書をベースに、Gooの方々のサポートを受け、
VBAで自作のアルバム閲覧Soft原版を作りました。
このSoft原版立ち上げで、Softの概要を理解できる様にしました。
VBAは、この一本でけで、VBAの基礎的な素養はゼロです。
今回頂いたコメントも???で、未消化です。

このSoft原版には、
仮のOpening画面、仮の年、仮のタイトル、を埋め込済。
参考として、原版に組み込んだ、閲覧サンプル画像は数枚。
写真1枚の閲覧画面には、画像の他に、
画像名・コメントを表示するListBox、
TextBoxでは、画像名・コメント修正、撮影年月日、撮影場所等。
デジカメ画像はFolderに入れ、Softに順次収録。

年別の電子アルバムを、取捨選択して、国内バス旅行、
海外旅行など、トピック毎のアルバムを作り、愛用中。

この時、Soft原版を呼び出し、VBE(手作業)で、
好みのOpening画面やタイトルを書き換えて、保存。
老化が進むとこの手作業もおぼつかなくなり、
ワイフにこの手順を教えるにも、一画面で処理が完結する、
VBA_Softを作成しようと思い、迷路にはまりました。

今回、アドバイスを頂いた、点は次の様に理解しました。
①UserForm1.Image1.Picture
②UserForm1.Picture
__(フォームの背景に埋め込む画像ファイル)-今回初めて学習!

VBAのプログラミングは、これが最後かなと思います。
今までに、コンタクトのあった、Gooの方々に、多謝(^◇^)。

お礼日時:2021/02/09 17:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!