ACCESS2000を使っています。
現在レポートとして作成したものを
スナップショットに変換し、それを文書の内容ごとに分類されたネットワークフォルダに保存しています。
たとえば
県名が「福岡」であれば、「福岡」というフォルダの中の→「平成15年度」→「○○書」というフォルダに、「佐賀」であれば「佐賀」→「平成15年度」→「○○書」というフォルダに保存しているのです。
現在は「スナップショット」に変換することはマクロを組み、フォームからボタンを押すだけでできるようにしています。
でもできたらその後の処理も自動的に行いたいのです。
イメージは
ボタンを押すをスナップショットに変換して印刷し、さらにレポート内の、たとえば「県名」というコントロール内の文字が「福岡」であれば「福岡」→「平成15年度」→「○○書」というフォルダが自動的に開くというものです。
さらにできたらファイル名に指定したコントロールの文字が自動的に入れば申し分ないのですが。
かなり欲張りだとは思いますが、量の多い仕事なのでとても時間をくっています。
もっと自動化が実現できたらと思ってお尋ねしてみました。
アドバイスよろしくお願いします。
またVBAは初心者なので何卒よろしくお願いします。
No.2ベストアンサー
- 回答日時:
#1です
マクロで「出力ファイル」の欄を空白にされているのですね、なるほど。
では、お聞きしますがフォームでボタンを押す際にはその時点の情報(フォームに有るフィールドの値など)で保存先のフォルダ・ファイル名は特定できますか?
できるなら、先のアドバイスが可能だと思います。
例えばですが、モジュールを作成して適当な関数(Function)を作成します。ここではABCとしましょう。
とりあえずABCの中身はこんな感じにしてみます。
Public ABC() As String
ABC = "c:\abc.snp"
End Function
これを保存しておいて、マクロで「出力ファイル」の欄に「=ABC()」と指定しておくと、ダイアログが出ずに"c:\abc.snp"にスナップショットファイルが作成されると思います。
後は、条件に応じてABC関数が戻す内容を変えてやれば良いと思います。
例えば、画面のフィールド「項目あ」によって判断したければ、ABC関数を
Public ABC(P_判定項目 As String) As String
if (P_判定項目 = "福岡") then
ABC = "c:\abc福岡.snp"
else
ABC = "c:\abcその他.snp"
end if
End Function
といった感じにし、マクロでは「=ABC([Forms]![画面名]![項目あ])」みたいな感じで指定します。条件が複数あるなら引数を増やすと良いでしょう。
アドバイスありがとうございました。
>お聞きしますがフォームでボタンを押す際にはその時点の情報(フォームに有るフィールドの値など)で保存先のフォルダ・ファイル名は特定できますか?
はい、フォーム上に「福岡」という値があれば「福岡」というフォルダに・・・という特定はできますが、こういう意味でよろしいですか。
アドバイス通りにコードを記述してみましたが、残念ながら私のレベルではむずかしいようです。
(エラーメッセージが出てしまいます)
もう少し自分で勉強してからまたトライしてみたいと思います。
いろいろありがとうございました。
No.1
- 回答日時:
スナップショットを作成するマクロを調べてみました。
マクロで出力ファイルを指定するところに関数も指定できます。その関数で状況に応じたファイル名を返せばご期待の事は可能だと思います。他にも、スナップショットは固定ファイル名で作って、作ったファイルを移動するという手も有ると思います。
ちなみに、現在はどうされているのでしょうか?質問文からはちょっと読みとれませんでした。
最初のアドバイスで作る関数についてですが、恐らく次の様な仕様だと思います。
・レポートの作成と同じ条件を引数として受け取る(画面上のフィールドの場合も有るでしょう)
・引数で受け取った内容を判断して保存先のファイル名を組み立てる。必要に応じてフォルダを作ったりする必要もあるかも知れません。
・組み立てたファイル名を戻り値として返す。
この回答への補足
さっそくのお答えありがとうございます。
>現在はどうされているのでしょうか?
「出力」というアクションでファイル形式を「snapshot format」にしてマクロを作りました。
これを登録したボタンを押すと「ファイルへの出力」というダイアログボックスで出ますのでここで保存先のフォルダをその都度選んでから保存しています。
>スナップショットは固定ファイル名で作って、作ったファイルを移動するという手も有ると思います。
すみません。もう少し具体的にお願いできますか?
>マクロで出力ファイルを指定するところに関数も指定できます。その関数で状況に応じたファイル名を返せばご期待の事は可能だと思います。
・・・恐らく次の様な仕様だと思います。
申し訳ありませんが、こちらの方ももう少し具体的に記述方法などを教えていただけませんか。
もちろん関数は知っていますが、これだけでは私のレベルではどうしたらいいのかわかりません。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access Excel出力する保存先を...
-
アクセスクエリ(複数)→マクロ...
-
ACCESS で 項目名を出力せずに...
-
Accessでエクセル出力の保存先指定
-
Accessから指定した画像データ...
-
Access内の任意のクエリを指定...
-
Access データベースの最適化を...
-
AccessでUTF-8のtxtデータを出力
-
ACCESS2000でマクロでCSVエ...
-
エクセルで縦のカラムデータを...
-
T-SQLでselectの結果をCSV出力...
-
【Excel】[Expression.Error] ...
-
SQLPLUSで結果を画面に表示しない
-
特定のエクセルファイルを起動...
-
共有フォルダに誰が何にアクセ...
-
XMLデータを変換し印刷する方法
-
100万行のCSVを10万行ずつのフ...
-
selectした結果の余計な余白を...
-
ExcelのマクロでAccessのmdbを...
-
accessのmdbが勝手にできている?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS で 項目名を出力せずに...
-
アクセスクエリ(複数)→マクロ...
-
Accessでエクセル出力の保存先指定
-
エクセルで縦のカラムデータを...
-
Access Excel出力する保存先を...
-
Access データベースの最適化を...
-
teraterm から起動したプログラ...
-
指数表示しない方法
-
Access2013の質問です
-
AccessでUTF-8のtxtデータを出力
-
AccessのデータをExcelの決まっ...
-
Access内の任意のクエリを指定...
-
access 更新ボタンを作る
-
ACCESSで毎回CSVファイルをテー...
-
アクセスからエクスポートする...
-
Accessから指定した画像データ...
-
エクセルVBA レイアウト変更CS...
-
wordのVBAを使って別のword文書...
-
エクセル 入力フォームのデータ...
-
T-SQLでselectの結果をCSV出力...
おすすめ情報