0

私は VBA に詳しくなく、これについて助けが必要でした。どれくらいの時間がかかり、何をする必要があるのか​​わからないので、助けていただければ幸いです。

要約- 基本的に、指定された特定の Excel シートをループして、これらの各シートのデータを既存のパワー ポイント プレゼンテーションに貼り付けるか、新しいプレゼンテーションを作成して、各シート データを画像として貼り付ける Excel マクロの要件。個別のスライド。

主な詳細は次のとおりです。

1)。各 Excel ワークシートには、1 つの Excel テーブルまたは Excel グラフが含まれます。

2)。Excel の表またはグラフには、Excel で周囲に設定された印刷領域があります。これは、VBA コードが各シートに何をコピーするかを知る方法です。各シートの設定された印刷領域をコピーし、別のパワー ポイント スライドに図として貼り付ける必要があります。

3)。バージョン 1 では、新しいパワー ポイント スライドを作成し、個々のスライドに貼り付けるだけです。高さと幅の要件を指定して、パワー ポイントに貼り付けるときの画像のサイズを決定できます。このバージョンでは、貼り付けた画像の一般的な高さと幅の要件を指定できます。

4)。コードは Excel と PowerPoint 2010 で動作する必要があります。2007 は非常に似ており、これらのバージョン用に記述されたコードは 2010 でも動作すると思います。

事前に助けてくれてありがとう。:)

4

1 に答える 1

1
Option Compare Database

Private Sub Command3_Click()
Call findField(Text1.Value)
End Sub

Public Function findField(p_myFieldName)
    Dim db As Database, _
        tb As TableDef, _
        fd As Field

    Set db = CurrentDb

    ''''''Clearing the contents of the table
    DoCmd.RunSQL " Delete from Field_Match_Found"

    For Each tb In db.TableDefs
        For Each fd In tb.Fields
            If fd.Name = p_myFieldName Then

                'MsgBox ("Table " & tb.Name & " has the field " & fd.Name)

                strsql = "INSERT INTO Field_Match_Found Values (""" & tb.Name & """, """ & fd.Name & """)"
                DoCmd.RunSQL strsql

            End If
        Next fd
    Next tb
    Set fd = Nothing
    Set tb = Nothing
    Set db = Nothing

    ''''''''Checking if any match found for the specified field or not
    If DCount("Table_name", "Field_Match_Found") = 0 Then
    MsgBox ("No match found in your database")
    Else
    MsgBox ("Check Table Field_Match_Found for your output")
    End If

    '''''''''''clearing the text box for the next time
    Me.Text1.Value = ""

End Function


Private Sub Form_Load()
Me.Text1.Value = ""
End Sub
于 2012-10-07T17:42:46.707 に答える