2

パワーポイントを使って一種のクイズを作成したいと思っています。ユーザーからの入力を保存したいと思います。

例:私が質問した場合:あなたの好きな色は何ですか?彼らが質問に答えて次のボタンをクリックしたら、テキストボックスの値を保存して出力ファイルに追加したいと思います。

値を取得してファイルに書き込む方法はすでに知っています。

私が探しているのは一種のループです。

擬似コードは次のとおりです。

foreach(Control c in CurrentSlide.Controls)
{
     File.Append(c.Value);
}

このように、フォームにどのようなコントロールがある場合でも、すべてのコントロールの値を保存したいと思います。

これはVBAで可能ですか?そうでない場合、この状況に対する一般的な解決策はありますか?

4

2 に答える 2

2

スライド上の各コントロールをチェックするためのより一般的な方法を次に示します。事前にいくつあるかを知る必要はありません。これは、コントロールシェイプ(TextBox1、CheckBox1など)に割り当てられたデフォルトの名前を保持していることを前提としています。これらを変更する場合は、各TextBoxに、それに固有の文字列を少なくとも1ビット含む名前が付いていることを確認し、それに応じてコードを変更する必要があります。Siddarthはすでにファイルに書き込むためのコードを提供しており、あなたはそれを制御していると言ったので、私はただDebugです。例を単純にするためにここに値を出力します。

Sub TestIt()
    ' Run this to test the shapes on slide 1
    ProcessTheSlide ActivePresentation.Slides(1)
End Sub

Sub ProcessTheSlide(oSl As Slide)

    Dim oSh As Shape

    For Each oSh In oSl.Shapes
        ' Is it a control?
        If oSh.Type = 12 Then  ' msoOLEControlObject
            On Error Resume Next
            With oSh.OLEFormat.Object
                If InStr(.Name, "TextBox") > 0 Then
                    Debug.Print .Text
                End If
                If InStr(.Name, "CheckBox") > 0 Then
                    Debug.Print .Value
                End If

            End With
        End If
    Next

End Sub
于 2012-04-24T14:53:34.547 に答える
1

これはVBAで可能ですか?

はい、そうです :)

プレゼンテーションに、1つのTextBoxと2つのコマンドボタンを配置します。プレゼンテーションは次のようになります。

ここに画像の説明を入力してください

VBAエディターでこのコードを貼り付けます

Option Explicit

'~~> Save data to file
Private Sub CommandButton1_Click()
    Dim filesize As Integer
    Dim FlName As String

    '~~> text File where you want to save the data
    FlName = "C:\Sample.Txt"

    '~~> Get a free file handle
    filesize = FreeFile()

    '~~> Open your file
    Open FlName For Append As #filesize

    '~~> Export Text
    Print #filesize, TextBox1.Text
    Close #filesize

    TextBox1.Text = ""
End Sub

'~~> Exit Show
Private Sub CommandButton2_Click()
    SlideShowWindows(1).View.Exit
End Sub

これを実行して[次へ]をクリックすると、データが自動的にテキストファイルに保存されます。

ここに画像の説明を入力してください

そして、これはあなたのテキストファイルがどのように見えるかです...

ここに画像の説明を入力してください

HTH

于 2012-04-24T07:09:39.740 に答える