初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2015-06-17 12:46:49

junike
Member

エクセルへエクスポートする時にデータを複数のシートに分けたい

環境
Windows 7
FileMakerAdvanced 12

【やりたい事】
氏名、エリア、住所、性別、年齢 このようなフィールドがあります。
スクリプトでエクスポートする時に、
シート1には「氏名、エリア」のデータを、
シート2には「氏名、性別、年齢」のデータを書き出したい。
通常ですと、エクセルブックを2ファイル作成すると思いますが、1つのエクセルブックにシート分割ができないか悩んでいます。

ご教授よろしくお願いします。

Offline

#2 2015-06-17 20:41:31

Shin
Member

Re: エクセルへエクスポートする時にデータを複数のシートに分けたい

全部のフィールドを1シート目に書き出しておいて、シートを複製、不要な列を削除した方が早いかも。

Offline

#3 2015-06-18 00:08:25

qb_dp
Member

Re: エクセルへエクスポートする時にデータを複数のシートに分けたい

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

#4 2015-06-18 10:35:01

junike
Member

Re: エクセルへエクスポートする時にデータを複数のシートに分けたい

Shin様、qb_dp様 ありがとうございます。

qb_dp様の方法で何とか解決できそうです。
助かりました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.011 seconds, 9 queries executed - Memory usage: 504.88 KiB (Peak: 515.68 KiB) ]