みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境
Windows 7
FileMakerAdvanced 12
【やりたい事】
氏名、エリア、住所、性別、年齢 このようなフィールドがあります。
スクリプトでエクスポートする時に、
シート1には「氏名、エリア」のデータを、
シート2には「氏名、性別、年齢」のデータを書き出したい。
通常ですと、エクセルブックを2ファイル作成すると思いますが、1つのエクセルブックにシート分割ができないか悩んでいます。
ご教授よろしくお願いします。
Offline
全部のフィールドを1シート目に書き出しておいて、シートを複製、不要な列を削除した方が早いかも。
Offline
FileMakerの標準機能では、2つのExcelファイルのシートを一つのブックにまとめる事はできません。
Excelの操作ができる言語「VBScript」や「PowerShell」を利用すれば可能となります。
カンタンな「VBScript」の例です。(エラー処理なし)
以下のVBScriptをFileMakerのフィールドに記述。
Dim FILE1,FILE2
Dim wb1, wb2
Dim ws1, ws2
FILE1 = "D:\Book1.xlsx"
FILE2 = "D:\Book2.xlsx"
Set Excel = CreateObject("Excel.Application\")
Excel.Visible = true
Set wb1=Excel.Workbooks.Open( FILE1 )
wb1.Activate
Set ws1=wb1.Worksheets(1)
ws1.Select
Set wb2=Excel.Workbooks.Open( FILE2 )
'wb2.Activate
Set ws2=wb2.Worksheets(1)
'ws2.Select
ws2.Copy ,ws1
wb1.save
wb1.close
wb2.close
Excel.Quit()
FILE1 = "D:\Book1.xlsx"
FILE2 = "D:\Book2.xlsx"
は、FileMakerからエクスポートしたExcelファイルのパスに書き換えて下さい。
スクリプト:フィールド内容のエクスポート で上記内容をテンポラリフォルダ等に書き出しVBScriptを実行します。
記述:
フィールド内容のエクスポート [フィールド:VBScript; 「excel.vbs」; 自動的に開く]
※
VBScriptの
Excel.Visible = true
をコメントアウトすれば、Excelが非表示のまま処理を行えます。
Offline
Shin様、qb_dp様 ありがとうございます。
qb_dp様の方法で何とか解決できそうです。
助かりました。
Offline
Pages: 1
[ Generated in 0.039 seconds, 7 queries executed - Memory usage: 507.89 KiB (Peak: 519.25 KiB) ]