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

添付画像の環境委依存文字?(Unicode:9745)をEnum、もしくは、Const で定義したいのですが、VBE上で入力すると、"?" で表示されてしまいます。
定義する方法は、ありますか?

「環境依存文字?をEnumで定義したい」の質問画像

A 回答 (2件)

標準モジュールを利用して他言語の静的クラスのように利用してください。



ex.)
【UnicodeCharacters.bas】
Option Explicit

Public Property Get Check() As String
Check = ChrW(&H2611)
End Property

【Module1.bas】
Public Sub Test()
Range("A1").value = UnicodeCharacters.Check
End Sub

いずれにしてもVBE上ではUnicodeを表現できませんので、デバッグでは"?"になります。
    • good
    • 0
この回答へのお礼

お~、上手いこと考えますね!!
これなら違和感ないですね。
ありがとうございました。

お礼日時:2023/10/19 20:15

こんにちは



Enumで設定できるのはLong型だったと思いますので、直接文字列を保持するのは難しそうですね。
同じ様なものがたくさんあるなら・・

 Enum myCode
  check = 9745
  ' ・・・・
  ' ・・・・
 End Enum
 Function Marks(c As myCode) As String
  Marks = ChrW(c)
 End Function

と、関数も併せて定義しておいて・・
 Range("A1").Value = Marks(myCode.check)
のような使用法でも良ければ、可能と思います。


「名前空間.属性」の形式だけで記述したいのなら、クラス定義をしておいてその属性に設定しておくなどすれば可能ではないでしょうか。
ただし、最初にインスタンス化しておく必要があるなど一手間が増えますけれど・・
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。
Enum、もしくは、Const で定義したい理由なのですが、例えば初期処理で普通の変数に格納するやり方だと、エラーが発生した場合、変数の値が消滅してしまって、再開するには初期処理を再度、実行する必要があると思います。
Enum、もしくは、Const で定義しておけば、初期処理自体が不要になるので、処理の継続性が高まるような気がして、質問させていただきました。
上記のようなことで、何か工夫れているようなことはありますか。

お礼日時:2023/10/18 20:51

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A