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

Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
FontCount = FontCount + 1
If FontCount Mod 2 = 1 Then
Me.Section(0).BackColor = 16777215
Else
Me.Section(0).BackColor = 16777164
End If
End Sub

としてみました。
ですが何らかわりなく…

試しに
Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
FontCount = FontCount + 1
If FontCount Mod 2 = 1 Then
Me.Section(0).BackColor = 16777215
Else
Me.Section(0).BackColor = 16777164
End If
MsgBox FontCount
End Sub
としてみたところずーっと「1」が表示され、変数がかわってないようです。

いったいどこがダメなのでしょうか?
確か以前できたはずなのに…(><)

A 回答 (5件)

変数がPrivate なので、Subが呼ばれるたびに初期化されるからです。


FontCount = FontCount + 1
の前に
Static FontCount As Long
と入れるとイケます。
(他にも方法はありますが、とりあえず。)
頑張ってくださいヽ(^。^)ノ
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

なんとかできました。
前もこんなことしたのかな私…
とりあえずできたのでよしとします!
ありがとうございました。

P.S.今みたところ、No.3とNo.4の回答が逆になってるんですが…なぜでしょうか(笑

お礼日時:2004/09/13 16:27

No.4です。



宣言部間違ってました。

****宣言部に****
Dim flgFont As Boolean
    • good
    • 1

こんにちは。

maruru01です。

詳細_Printイベントではなく、詳細_Formatイベントに記述して下さい。

ところで、交互の判定変数(FontCount)を数値型にしていますが、この場合はブール型でいいのでは?


****宣言部に****
Dim flgFont

****詳細_Formatイベントで****
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)

  flgFont = Not flgFont
  If flgFont Then
    Me.Section(0).BackColor = 16777215
  Else
    Me.Section(0).BackColor = 16777164
  End If

End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

実は印刷時とフォーマット時両方で試してみたんですけどダメだったんです。

別方法も試してみたいと思います。
ありがとうございました。

お礼日時:2004/09/13 16:25

あまり詳しくないのですが、


Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
のPrintCount と、Sub中のFontCountと変数名が違うことは問題ないですか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

変数の名前の間違いということでしょうか?

見たところ変数名の違いは見当たらないようですが。。。

お礼日時:2004/09/13 16:22

Dim FontCount As Integer



念のため・・変数の宣言はしてありますよね?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

はい、してあるんですけどね…

お礼日時:2004/09/13 16:21

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