hatena様
初めまして。
いつも大変勉強になる情報有難うございます。
標記の件、質問です。
”日付”を2分割し、”開始日”と”終了日”としています。
スケジュールの中で”出張”のようなものが発生した場合のためですが、この”開始日”と”終了日”を
挟むように”矢印(⇔)”をカレンダー内に表示することは可能でしょうか?
まだまだVBA初心者なのですが、各日ごと別ラベルを作成し、フォームモジュール内
予定表示プロシージャ SetSchedule() の中にVBAを組み込むということでしょうか?
はい、基本はそうなりますね。
どのような表示をご希望かにもよりますが、別ラベルではなく、現状の行事予定ラベルに出力させる方法ではいいかもしれません。
例えば下記のような感じなら、ラベルを追加する必要はないです。
どのようなレイアウトを考えているのか、もう少し具体的に説明していただけると、
回答しやすいです。
ご返信有難うございます。
ちなみに↑の場合は、単純に”件名”ラベルの中に打ち込む感じでも可能と思っていますが、
コチラのイメージ的には別ラベルで、例えば、エクセルで作成できるガントチャートのような
感じでした。
フォーム内 指定日(”開始日”)をクリックし、予定を入力すると別ラベルに”←”が表示され、
”終了日”を入力すると、別ラベル中間日に”=”と最終日に”→”が表示されるイメージです。
4月
| 1日 | 2日 | 3日 | 4日 | 5日 |
| 出張 | | | | |
| ← | = | = | = | → |
どのようなVBAを使用すると可能になるかをご教示いただけると幸いです。
それなら比較的に簡単にできそうです。
1日に複数の予定が入ることはないですか。
テーブルのデータ例を何レコードか提示していただけたら、サンプルコードを提示できると思います。
ご返信有難うございます。
基本的に1日に複数の予定を入れることは無いです。
テーブルのデータはまだ勉強中というのもあり簡素化しています。
"開始日","終了日","件名","備考"
のみです。
よろしくお願いいたします。
ガントチャート表示用のラベルを42個、予定表示のラベルの下に配置してください。
名前は、G1 ~ G42 とします。
文字配置は「中央」にしておくといいと思います。
SetSchedule関数を下記のように修正してください。
これで表示できると思います。
ただし、月またぎの予定は考慮してないので、現状のままだとエラーになるか、表示できないと思いますので、
その辺を考慮した処理を追加する必要があります。
今日のところはここまでで。明日、時間が取れたら、月またぎの部分のコードを追加します。
Furuさんの方でもまずは上記のコードの内容を理解して、可能なら月またぎの処理も考えてみてください。
早速のお返事有難うございます。
上記コードを理解できるように努めてみます。
追伸;
ちなみに月跨ぎの場合はエラー表示が出ました。
例えば、
月マタギの”2月”を表示した瞬間、”G59”フィールドが見つかりません。
日付をクリックすると”T43870”フィールドが見つかりません。というのもでした。
お時間の都合が付きましたら、教えていただけると幸いです。
カレンダーの範囲をまたぐときにも対応できる様に処理を追加しました。
下記がサンプルファイルです。
FrmCalendar2.zip
早々にご対応いただき有難うございます。
イメージしていたコードより思いの外複雑でしたが、勉強になりました。
今後ともよろしくお願いいたします。
解決済みということで、閉じます(凍結)。