アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESS初心者です。
仕事でどうしても必要に迫られて、受付管理のツールを作ることになりました。


1つの注文で、受付ID(オートナンバー)が付与されます。

メインフォームにタブオーダーをつけてサブフォームを複数配置しています。
そのサブフォームにボタンを置いて
Access から既存のエクセルファイルをテンプレートとして開いて
テンプレートに入力後、受付IDをファイル名にして、テンプレートとは別もので保存
保存後は、ボタンを押したときに受付IDと同じエクセルファイルが開く

このようなことをやりたいと思っています。

ネットでいろいろ探しているのですが
ファイルを開くのは見つかっても、保存したものを開くのが見つからず
そもそもできるのかどうかもわかっておりません。

自分にスキルがなく、あれこれ凝ったものは作れないので、
保存は自動じゃなくて、自分で別名で保存にしてもかまわないのですし
フォームに入力したものが、テンプレートに反映(出力?)されなくてもかまわないです。


参考になるサイト等ありましたら、ご教示いただけますか。

どうぞよろしくお願いいたします。


下記はやりたいことに近いかなと思って見つけたサイトです。
http://www.nurs.or.jp/~ppoy/access/access/acX013 …
http://detail.chiebukuro.yahoo.co.jp/qa/question …
http://accessclub.jp/bbs/0227/beginers70136.html

A 回答 (2件)

1番目のリンクの方のサイト、すごいですね。

テクニカルかつ分かりやすいです。
同じ方のサイト、#001ではEXCELファイルを新規に作って、データベース内のデータを埋めて保存して閉じる
やり方を紹介しています。
http://www.nurs.or.jp/~ppoy/access/access/acX001 …

リンクの#013では、テンプレートを元にデータを埋め込み、EXCELの画面を表示したところで、マクロを終了させる
(保存はユーザーの手動に任せる)方法を紹介しています。

この#013の最後に#001の保存方法を組み合わせれば、たぶん出来ると思います。

#013の末尾(http://www.nurs.or.jp/~ppoy/access/access/acX013 …
--------------------------------------------------------------
'データ貼り付け
With wkb.Worksheets(stSheet)
.Range(stRng).CopyFromRecordset Data:=rst
End With

'#001の保存コード(http://www.nurs.or.jp/~ppoy/access/access/acX001 …

'保存ダイアログからの入力を受けて保存
' fName = xls.Application.GetSaveAsFilename(,"Microsoft Excel(*.xls),*.*", 1)

'保存ダイアログを使わず、fnameを自動的に指定する方法(jacob-wk9付け足し)
fName=rst!受付ID

If fName <> False Then
wkb.SaveAs FileName:=fName
MsgBox "新規ブックは、「" & fName & "」の名前で保存しました!", vbOKOnly
Else
MsgBox "新規ブックは保存できませんでした。", vbOKOnly
End If

Set rst = Nothing: Set cnn = Nothing

Exit_opnXLtmp:
Set wkb = Nothing: Set xls = Nothing
Exit Sub

Err_opnXLtmp:
MsgBox Err.Description
Resume Exit_opnXLtmp
End Sub
----------------------------------------------------------------------

こんな感じになるのではないでしょうか。

この回答への補足

jacob-wk9 様

本当に結果報告が遅くなり申し訳ございません。
やっと教えていただいたことが試せるところまで来ました。

#013の最後に#001の保存方法をつけてみたところ、
まず最初にコンパイルエラーというのがでて、END subが見つかりませんとなり
一番最初の private sub の行が黄色くなってしましました。

何度も見直してみたのですが、打ち間違いは無いように見えます。

#013の

データ貼り付け
With wkb.Worksheets(stSheet)
.Range(stRng).CopyFromRecordset Data:=rst
End With

のあとに、jacob-wk9様が回答に書いてくださった
保存ダイアログ~から下のところをそのまま打ち込みしています。

このままだと、保存方法が2つある状態に見えるのですが
ファイルの保存方法で、jacob-wk9 様が追記してくださった
保存ダイアログを使わず、fnameを自動的に指定する方法 を記述した場合は
その前にある、保存ダイアログからの入力を受けて保存 のところは削除してよいのでしょうか?

こんなに遅くなってからで、大変恐縮なのですが
ご教示いただければ幸いです。

どうぞよろしくお願いいたします。

補足日時:2013/02/08 20:39
    • good
    • 0
この回答へのお礼

風邪で寝込んでしまい、ご連絡遅くなって申し訳ございません。

二つのサイトの合体技なんですね。
VBAがわからないので、合体させるなんて自分じゃ考えられませんでした。

明日から出社するので、作成中のツールで試してみようと思います。
ツールを作っているネットワークは、インターネットにつながっていないので
手打ちでがんばってみます。
結果はまたご報告します。

お礼日時:2012/11/27 20:55

ゴチャゴチャ書き連ねても消化不良になるかと思いますので


入り口と非常口?だけです。

ActiveXオートメーション(OLEオートメーション)の概要
http://home.att.ne.jp/zeta/gen/excel/c04p44.htm

15.消えないExcelのプロセス
http://homepage1.nifty.com/rucio/main/technique/ …
(VBのお話ですが、Access→Excel でも同様です)
    • good
    • 0
この回答へのお礼

連休から風邪で寝込んでしまい、お返事遅くなって申し訳ございません。

どちらのサイトも拝見しましたが、
私が理解するにはとてもハードルが高そうです・・・(^^;)

VBAが理解できたら、きっとACCESSで思うがままのツールが作れるんでしょうね。
あこがれちゃいます。

もう少しACCESSが使いこなせるようになったら、
もう一度読んでみます!ありがとうございました。

お礼日時:2012/11/27 20:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A