執筆:EugeneAmnis
FormeSurveyの説明
FormeSurveyはFormeCollectorとの連携を考えて作成したマクロシートです。アンケートなどでは紙やExcelシートに直接記入後、 返却という形が案外多いと思います。本来、欲しいのは中身なのでCSVデータを出力するマクロを追加すればいいだけなのでしょうが、 案外これは大変です。特にOSをまたがると非常に厄介です。そのことを踏まえて汎用的に作成したのがFormeSurveyです。
the-forme.netでも説明していますが forme-note 上でも説明したいと思います。
導入
FormeSurveyの導入は大変簡単です。FormeSurvey.xlsmを開き、新規の場合は新しくシートを追加しその上で書類を作成します。 既存の書類がある場合はそれをFormeSurvey上にコピーします。まず書類を完成させます。
手順
- 完成したシートに menu pallete シートの出力ボタン、クリアボタンと参照テーブルを移動します。 この時、参照テーブルはヘッダーまで選択してください。 (Excel 2016 for Macではボタンは移動できないので、新しく設置しマクロを設定してください。) 参照テーブルは最後に非表示または折りたたみで見えなくします。
2. 書類シートに移動後は参照テーブルに参照セル設定をします。参照テーブルの1列目のセルをダブルクリックすると参照せる設定ダイアログが 表示されるので、回答セルを設定します。2列目を TRUE にすると必須回答になります。また、ボタンの表記を変更します。
必須入力では入力されないまま、出力ボタンを押すと警告が出ます。
3. 全ての回答セルを設定後にCSV出力テストを行います。まず、CSVデータの保存箇所を選択します。 この時ファイル名は以下のようになります。尚、テキストエンコードはExcelの操作環境に依存します。(日本ではShift_JIS)
シート名 + _ + 現在日付時刻 + 乱数(0~99) + .csv
保存に成功すると保存したディレクトリが表示されます。
4. クリア機能を確認します。回答セルをクリアします。参照テーブルは “ 0 ” が表示されます。
5. ファイル名も変更し、ブックの保護など必要な措置を取り、参照テーブルを非表示または折りたたむ等で隠します。 FreeバージョンではformeKEYmoduleも削除します。 相手へ添付し、 CSVデータのみを送り返してもらいます。(以下に記す操作方法を記入した方が親切かもしれません。)
操作
FormeSurveyで作成されたアンケート等の書類を受け取った場合、送信元が信用できるならマクロを許可し、CSVデータを出力します。 マクロの実行を許可しなくても、通常のxlsmファイルとして操作します。 CSVデータか書類を送信元へ送り返します。
####_パス指定
参照テーブルの1列目のヘッダーにパスを設定するとそのディレクトリにCSVファイルを出力します。forme_DirChooser関数を使用すると便利です。 ただし、OS や Excelのバージョンによりパス記号は違う為、慎重に設定してください。
= forme_DirChooser()
フォルダー選択ダイアログが表示されます。(ヘッダー内に直接関数は入力できないので別のセルに入力後、結果を貼り付けてください。)
次回からはFormeExcelToolフリーバージョンの VBA ロック解除コード取得方法( Throwawaykey )について説明します。