2

CSVファイル形式でExcelマクロを実行する方法はありますか?

csvテンプレートを使用してファイルをCSVにエクスポートしていますが、CSV形式のテンプレートにマクロを書き込むことはできますか?XLS形式では使用できません。誰かがこれについて私を助けることができますか?

4

3 に答える 3

5

マクロをファイル内に保存することはできませんが、次のいずれかを行うことができます。CSV

  1. CSVコントローラワークブックまたはアドインを使用してマクロを実行します
  2. さらに一歩進んで、プログラムでCSVファイルにコードを追加します(たとえば、イベントハンドラーを追加するため)

あなたが何をする必要があるかについてより多くの情報を提供するならば、我々は上記の道を手伝うことができます。

編集:CSVファイルがどのように生成されるかはまだ明確ではありません-これはExcel経由ですか、それとも別のアプリによって行われますか?]

ピアソンのアプリケーションイベントの例を使用すると、下部のコード(開いているExcelコントローラーワークブックから)を使用して、新しいCSVファイルの追加をキャプチャし、それをフォーマットできます。

その場でファイルの作成をキャッチする必要がある場合は、WMIでVBscriptをCSV使用するなどのより複雑なアプローチが必要です。

Controller Workbook Approach

このワークブックモジュール

Private XLApp As CExcelEvents

Private Sub Workbook_Open()
    Set XLApp = New CExcelEvents
End Sub

CExcelEventsと呼ばれるクラスモジュール

Private WithEvents App As Application

Private Sub App_NewWorkbook(ByVal Wb As Workbook)
If Wb.FileFormat = xlCSV Then
MsgBox Wb & " is a Csvfile"
'your code
End If
End Sub

Private Sub Class_Initialize()
    Set App = Application
End Sub
于 2012-08-08T07:00:48.010 に答える
2

セットアップ:Excel 2010

作成したマクロをパーソナルマクロブックに保存します。

詳細

  1. *.csvファイルを開きます
  2. マクロを記録し、パーソナルマクロワークブックに保存します。
  3. パーソナルマクロブックに加えた変更を保存するかどうかを確認するメッセージボックスが表示されたら、Excelを終了して[保存]をクリックします。

情報源へのリンク。

于 2016-11-19T00:48:48.253 に答える
0

やりたいことを実現するには、まず、目的のマクロVBコードを含むXLSを作成する必要があります。次に、このXLSを常に利用可能な場所(つまり、HDまたは企業ネットワーク)に保存する必要があります。次に、マシンのExcel内にカスタムボタンを作成し、このボタンを起動するVBマクロモジュールにリンクする必要があります。つまり、Excelを手動で開くか、CSVを開くと、他のボタンと同じようにツールバーにカスタムボタンが表示されます。次に、CSVがExcelで開いているときに、カスタムボタンをクリックすると、保存されているXLSから、リンク先のマクロが起動されます。

于 2012-08-08T07:04:26.917 に答える