【Excel_Sample 新着情報】
2024/1/21 EXCEL図書管理ブック、Ver2.187にバージョンアップしました。
2020/1/11-------------------------------
【VBAsamplesページに、ブログVBA記事一覧~itideen~ページへのリンクを設置しました。
ココログ:縁木求魚のVBAに関する話題記事を一覧にしたものです。
【Excel図書管理ブック Ver2186にバージョンアップしました。】
【2.186の変更点】 2020/7/14 -----------------------
(1)
2019/3/28 Ver2,185b(非公開)
・保守管理~補助処理~重複noチェック(ボタン)で、図書noチェックで重複が
あった場合の結果出力範囲と続けて行われる会員noチェック処理での重複結果出力範囲が
同じの為、図書noチェック結果は会員noチェック処理でクリアされてしまう。
どちらのチェックでも重複があった場合、処理強制終了するようにした。(end文)
work2で重複チェック処理を行い結果をworkシートにコピーしているので、workシートを
アクティブのままとした。あとは、手操作でデータ修正すること!!
<変更モジュール>
Userform5(保守管理)~Private Sub CommandButton35_Click()~
Module8.図書noの重複チェック
Module8.会員noの重複チェック
Application.ScreenUpdating = True
Sheets("work").Activate
Columns("a:b").AutoFit '2019/3add
MsgBox "重複値を確認して下さい。" & vbCrLf & "処理はここで中断します。"
End
上記文の追加。
(2)
2020/3/21 Ver2.185c(非公開)→Ver2186(公開)
●新規図書登録で、国立国会図書館からの書誌データ取得時にエラー表示
「sign.dll・・・云々」のエラーが表示された。書誌データ取得マクロでエラーが発生した場合のエラー文で、あらかじめ用意しているもの。エラー発生の可能性が高いものと
思っての対応メッセージ文(Amazon利用時のみ)ですが、その他のエラーでもこの
メッセージが表示されるとは!? 原因、国立国会図書館の書誌データ仕様の変更のため。もともとは、原田研究室(同志社)のエクセルマクロツール。なので、再度更新版を流用しました。(module1.main) 注:原田氏のマクロツールは2種類あるようで、今回流用したバージョンは前回とは別ですので、class定義などは必要なくなりました。
●その他の書誌データ取得でできないもの
Amazon 検証不可の為 → 使用不可メッセージ表示
book.or.jp 仕様変更か?! → 使用不可メッセージ表示
Amazon2EXCEL.netから図書情報を取得()
●menuシート上の表示・非表示ボタンがないと、マクロ中断するので、エラー文追加。
<非表示・表示ボタンを削除してしまった場合の対処>
図形で四角形を作成し、中に「非表示」「表示」と入力。
図形名を名前ボックスで変更:
それぞれの図形に、マクロ登録します。
「非表示」 hidden_sheet
「表示」 hidden_visible
●Userform5(保守管理)Initializeで、activateをCALLしてるのをコメントアウト
図書分野のデータが二重にCombobox2に読み込まれていたのを修正の為。
●Userform5(保守管理)~新規図書登録タブ~管理番号(ISBN番号)のテキストボックス・プロパティをIMFOFFと設定。
*バックアップの世代数デフォルト値を5→3設定に。
■書誌データ取得マクロが動作しない場合の対応策
(1)上記の原田研究室・原田氏のマクロブックを利用する。
(2)冊数が多くないのであれば、手打ちする。
以上。
注1:上書き保存しないで、ブックを閉じるには?
ブックウインドウの右上×で、閉じる。
保存しないを選択。
注2:古いバージョンでは「×」で閉じないようにしているかも。
以上。
●当ブック「Excel図書管理Ver2.186.xlsm」のシート上のダミーデータ
-シート名-
図書管理表 107件
会員一覧 100件
受付記録 3件
操作担当者 5件
予約受付 0件
table
(列)出版社 21件
(列)分野 10件
以上、ダミーデータが入力されています。
ダミーデータは削除してから、お使いください。
【Excel図書管理ブック Ver2185にバージョンアップしました。】
【2.185の変更点】 2018/9/4 -----------------------
■オープン時に、「インデックスが有効範囲にありません。」のメッセージが表示され、 シートタブが非表示となる現象の対応。
[原因] Ver2181で、シート表示非表示が設定できるようにしたが、その後従来あった
Bリーダー用シートを削除した為、Module11.Sub シートの表示_非表示設定()でのエラー対処がなく、エラーメッセージが表示された。
このエラーが表示されると、以後操作者は権限者ではなく、一般となり、シートタブが非表示となる。 ただ、実際の動作には影響はありません。
[対応]「インデックス・・・」のメッセージが出て、シートタブ表示したい場合は、adminで再ログインすると、シートタブが表示される。
しかし、この状態では次回Openした際に同じ現象となるので、回避するため、tableシートのi202~i224の中に、存在しないシートがあるので、それを削除しブック上書き保存する。
[対策] Module11.Sub シートの表示_非表示設定()で、シートの有無チェックを行い、シートが有る場合のみ、表示/非表示設定をするようにした。
■VBAプロジェクトの保護は解除。(従来パスは111でした。)
■ISBNでの図書情報取得の修正をおこなった。
Amazon・・・OK
楽天Books・・・修正
国会図書館・・・修正
e-bookWEB・・・OK
■図書の新規登録での、WEBから取得又は手入力した図書データを図書管理表シートに
追加登録する処理コード修正。
■図書新規登録後のISBNデータの行毎の消去ボタンを追加。登録状況(重複、ISBNエラーなど)で選択し行う。
■MENUシートの画像変更:UshikaiさんのWEB閉鎖につき、「いらすとや」さんのものに変更。
★EXCEL64bit版上での当ブックの動作について
当ブックはExcel32bit版VBAコードにて作成されているので、Excel64bit上では、そのままではエラーが発生する。
https://msdn.microsoft.com/ja-jp/VBA/Language-Reference-VBA/articles/64-bit-visual-basic-for-applications-overview
https://support.office.com/ja-jp/article/64-%E3%83%93%E3%83%83%E3%83%88%E7%89%88%E3%81%BE%E3%81%9F%E3%81%AF-32-%E3%83%93%E3%83%83%E3%83%88%E7%89%88%E3%81%AE-office-%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%99%E3%82%8B-2dee7807-8f95-4d0c-b5fe-6c6f49b8d261
原因・対応については、上記URLを参照。
Excel64Bit版で当ブックマクロを実行させるには、VBAコードの修正が必要となる。
as long → as longptr に置き換える。
Declare → Declare PtrSafe
例: Declare Function GetActiveWindow Lib "user32" () As
Long
↓
Declare PtrSafe Function GetActiveWindow Lib "user32"
() As LongPtr
とする。
【2.184の変更点】 2018/2/9 -----------------------
【追加した機能】
TABLEシートのI235セル値が図書Noの末尾にあれば、その図書は貸出制限なく貸出可能とする。
-実務例-
DVDなどが付録としている図書貸出で、付録のDVDも番号管理している場合、
図書自体の貸出で、貸出上限になっても、DVDの貸出ができるようにする。
【追加した機能の注意点】
追加した機能では、図書の付録のDVDかどうかは判定していない。単に、図書番号の末尾の語が指定の語である場合に、貸出上限のチェックを行わないようにしただけである。なので、当ブックの運用者は、貸出上限になっているものへの貸出に際しては、十分に注意する必要があります。
なお、貸出上限のチェックを行わない図書Noの末尾語は、TABLEシートのI235セル値に入力しておきます。デフォルトでは、小文字の「d」が入力されています。既に、図書Noにアルファベットを使用している場合、末尾語がdである図書がある場合は、別の語に変更するか、i235セルをブランクにして下さい。
【機能を確認するには】
提供するブックには、サンプルデータが入力されており、会員NO:011のものは、すでに貸出上限である5冊貸出中となっています。
貸出受付で、会員No=011を入力し、図書No:020を入力し、貸出できないことを確認します。次に、図書No: 014d、015d、016dのいずれかを入力し、貸出できることを確認します。
■機能追加に至るBLOG記事
(1)【EXCEL図書管理】 図書付録のDVDの貸出(貸出数制限)について考えてみました。
http://engi.cocolog-nifty.com/sirenai/2018/01/exceldvd-c88f.html
(2)【EXCEL図書管理】 図書付録のDVDの貸出(貸出数制限)について考えてみました。 その2
http://engi.cocolog-nifty.com/sirenai/2018/01/exceldvd-1b7d.html
【2.183の変更点】 2018/1/13 -----------------------
①「図書の新規登録」で、図書を追加登録するコードを変更。セル→セルの代入から、
セル→変数→セルの代入に変更しました。。
②予約検索フォーム~詳細情報印刷~work2に情報が書き込まれますが、バーコードが
作成されないのを修正。 CreateBarcodeモジュールのprintBarプロシージャー内で、高さを参照するセルのシートをアクティブシートにしていた為。Bコード印刷用のシートとしました。
③保守管理(UF5)・図書の一括登録ボタンで、非表示状態の時に機能しないのを、
シート非表示でも、「図書の新規登録」シートを表示するように変更しました。
④図書の新規登録(一括登録)のロジックを修正。
登録できない図書もクリアされていたのを残すようにしました。
合わせて、登録前に、区切り位置で文字列にするようにしました。
⑤楽天apiの仕様変更で、図書情報取得できず、使用不可としました。
⑥amazon、楽天のIDはシート保存するようにしました。
コード内に直接記述するのは中止しました。
IDが入力されている場合は、menuシートにその旨を表示します。
Tableシート:i230~i233セルに入力して下さい。
但し、Amazon-AWSへの接続は不安定。コード変更必要ですが、未対応です。
注:2018/1現在、国立国会図書館の検索サービスが唯一安定して図書情報が取得できます。
Amazon-AWSを利用する場合は、MASさんのホームページから
http://www2u.biglobe.ne.jp/~MAS/hoka/excelamazon.html
Sign.dllをダウンロードし、同じフォルダー内に保存してください。
Amazon-AWSについての最新の話題は、下記のURLが参考になります。
http://rabbitfoot.xyz/vba-programming-amazonapi1/
⑦「Bリーダー用」シートは削除しました。
2017/6/6 Vectorアップロード。
2017/5/18-6/6 Ver2.182
①貸出票印刷・・・貸出票印刷でリスト表示する場合に、「:」から「-」で区分する記号を変更した。Userform10の印刷時には、「-」で区分して印刷するようにした。
これで、年月日時分秒での表示が可能となった。
②初期セルの設定での関数代入で、indirect関数を使用
貸出返却シート版の関数式再代入マクロでは、indirect関数ありと無しを用意した。
U4,W4セルに、ボタンを設置した。
③バーコード作成シート「Bコード印刷用」の作成バーコードの高さの表示倍率を
H24セルに入力する方式に変更する。 エクセルの環境で高さが様々に作成される対応。
④貸出分析で、会員貸出数順位表の作成を追加した。
現状の貸出分析結果をもとに、追加機能として実装した。
⑤貸出し分析で、図書番号から出版社・分野などを貼り付けるコードを変更する。
行ごとにvlookup結果を代入していたが、vlookup式を代入しそれをオートフィルするように変更。
⑥menuシートのUshikaiWEBリンク外す。閉鎖の為。
⑦Bリーダー用・シートアクティブ時に、計算式代入等を行っていたが、設定シートの値で、無効の場合は行わないようにした。
2017/4/17
■ ログイン機能の仕様変更:権限に応じた動作の機能の整理と機能追加。
[1]シート非表示に対応する。VBE~検索:select
・sheets("***").select→sheets("***").activateに。
・Gotoの場合、シートをvisibleにする。
[2]VBE~検索:カレントプロジェクト=pivotで。
結果シート(work、work2)はシート表示設定にする。
そのまま表示させておく。
①module2.貸出しピボット作成
workシート上でピボット挿入:非表示の時にエラー。
なので、
If Sheets("work").Visible = False Then
Sheets("work").Visible = xlSheetVisible
HT = 1
End If
↑を最初に記述。
②module5.予約状況
③module8.図書noの重複チェック 動作確認
④module8.会員noの重複チェック 動作確認
[3]保守フォームの修正
①出版社、分野の更新・追加のフォームで、新規ボタンのコードを修正。
②その他処理・タブ内のframeを一般ユーザーの時は非表示とした。
③ID/PASS変更は一般ユーザーの時、無効とした。
[4]権限設定の見直し(整理)
※特権ユーザーと一般ユーザーのみとする。
ただし、ログイン機能を有効の場合のみ。
無効の時は、自動的に特権ユーザーとなる。
①workbook_openで、
・ログイン機能有りの場合、一般ユーザーの時はMENUシート外のシートは
非表示とする。 運用担当者、table、受付記録はveryhiddenとする。
・シート表示と非表示ボタンをmenuに貼り付けた。一般ユーザーの場合は、
このボタンは見えない。シート非表示での動作確認用の為。
特権ユーザーの場合は、シート表示・非表示のボタンをmenuシート上に表示する。
・ショートカットctrl+pageupを無効化する。
Application.OnKey "^{PGDN}", ""
Application.OnKey "^{PGUP}", ""
②workbook_beforecloseで、
ショートカットctrl+pageupを有効にする。
[5]猫伝言マクロの修正:tableシートの一部を見せている。
①menu上の猫ボタン・・・tableシートを表示する。scrollareaで制限を掛ける。
tableシートのmenuに戻る(neko)で、tableを非表示にして、menuシートに移る。
[6]Loginフォーム:OKボタンコード変更。
LOGINフォーム:OKボタンのコードで、特権ユーザー(i88=5)以外の場合、
MENUシート以外非表示とし、会員一覧、操作担当者とTable、受付記録シートは
xlVeryHiddenとする。
操作担当者シート・・ID、パスワードを記録しているため。
tableシート・・・システムパスワードを記録しているため
受付記録シート・・・個人別の貸出記録であるため。
会員一覧シート・・個人情報
+
2017/4/4 Ver2181
上記のV2180cの機能追加・修正の他、下記の項目を追加した。
(1)シートの非表示・非表示レベルの設定を記録し、自由に設定できるようにした。
tableシート:I201~J224の範囲で。直入力。
(2)貸出返却シート版・シートの計算式再代入の機能を追加。
ともに、保守管理フォーム:補助処理ページ内にあるボタンクリックで実行する。
(3)ブックclose時に、ログイン有であれば、menu以外非表示にして上書き保存終了とする。
2017/4/3
EXCEL図書管理:ログイン機能の仕様整理、それに合わせてシート非表示としたことの対応版。
Ver2180c:テスト検証途中版をアップしました。
● 権限に応じた動作の機能の整理と機能追加。
[1]シート非表示に対応する。VBE~検索:select
・sheets("***").select→sheets("***").activateに。
・Gotoの場合、シートをvisibleにする。
[2]VBE~検索:カレントプロジェクト=pivotで。
結果シート(work、work2)はシート表示設定にする。
そのまま表示させておく。
①module2.貸出しピボット作成
workシート上でピボット挿入:非表示の時にエラー。
なので、
If Sheets("work").Visible = False Then
Sheets("work").Visible = xlSheetVisible
HT = 1
End If
↑を最初に記述。
②module5.予約状況
③module8.図書noの重複チェック
④module8.会員noの重複チェック
[3]保守フォームの修正
①出版社、分野の更新・追加のフォームで、新規ボタンのコードを修正。
②その他処理・タブ内のframeを一般ユーザーの時は非表示とした。
③ID/PASS変更は一般ユーザーの時、無効とした。
④table設定ページは、一般ユーザーの時、非表示とした。
[4]権限設定の見直し(整理)
※特権ユーザーと一般ユーザーのみとする。
ただし、ログイン機能を有効の場合のみ。
無効の時は、自動的に特権ユーザーとなる。
①workbook_openで、
・ログイン機能有りの場合、一般ユーザーの時はMENUシート外のシートは
非表示とする。 運用担当者、table、受付記録はveryhiddenとする。
・シート表示と非表示ボタンをmenuに貼り付けた。一般ユーザーの場合は、
このボタンは見えない。シート非表示での動作確認用の為。
特権ユーザーの場合は、シート表示・非表示のボタンをmenuシート上に表示する。
・ショートカットctrl+pageupを無効化する。
Application.OnKey "^{PGDN}", ""
Application.OnKey "^{PGUP}", ""
②workbook_beforecloseで、
ショートカットctrl+pageupを有効にする。
[5]猫伝言マクロの修正:tableシートの一部を見せている。
①menu上の猫ボタン・・・tableシートを表示する。scrollareaで制限を掛ける。
tableシートのmenuに戻る(neko)で、tableを非表示にして、menuシートに移る。
[6]Loginフォーム:OKボタンコード変更。
LOGINフォーム:OKボタンのコードで、特権ユーザー(i88=5)以外の場合、
MENUシート以外非表示とし、操作担当者とTable、受付記録シートは
XLVERYHIDDENとする。
[7]保守管理:補助処理:「図書シート再作成」の機能は使用中止としました。
この処理は、図書管理表を作り直す処理で、新規シートを追加し、そこに図書管理表をシートの
値をコピーし、その後シート削除し、新規シートの名前を図書管理表とする処理です。
シートが何らかの原因で壊れた場合、シートコピーしたのでは壊れた原因もコピーされるので、
このような処理を用意しています。(以前、壊れたことがある為です。)
以上、xltosyo2180cの変更点・・・・・・・・・・・・・・・
2017/2/5
Vectorに公開されています。
http://www.vector.co.jp/soft/winnt/edu/se217023.html
2017/1/4
Vectorにアップしました。反映するまで、しばらくお待ちください。
2017/1/1
Excel図書管理ブックのバージョンアップVer2.180を公開。(準備中)
-----------------------------
【2.180の大きな変更点】
(1)延滞ペナルティ機能の追加
返却時に所定条件により、貸出停止期間を設定します。
貸出停止期間が有効な場合、貸出時に停止期間中かどうかのチェックを行います。停止期間中は、貸出はできません。
貸出停止期間日は、会員一覧のK列です。
①設定は、保守フォームにて行います。または、TABLEシートのi189セル値で行います。
i189値が0の場合、貸出停止期間設定は行わず、また、返却時の延滞ペナルティは行いません。i189値が1の場合、延滞ペナルティを付けますが、その条件設定は「貸出返却シート版」シートで行います。この「貸出返却シート版」シートでは、返却予定日も細かに計算設定することができます。デフォルトでは貸出時間をもとに、返却予定時間を計算するような設定をしています。
この「貸出返却シート版」シートでの貸出停止日計算は、日又は時間、分により何日貸出停止するかをシート上で条件設定することが可能にしたつもりです。
i189が2の場合は、シート版ではなく、通常のUserformにて貸出・返却の受付を行います。Userformでの延滞ペナルティは、遅延した日数分を貸出停止期間とします。7日遅れた場合は受付日から7日間は貸出できないように、7日後の日付を「会員一覧」シートの貸出停止期間列に代入します。
(貸出受付フォームおよび返却受付フォームのコード更新、貸出返却シートの新規追加、保守・管理での延滞ペナルティ有効無効選択追加)
(2)受付日や期間、期限日などをYYYY/M/D形式から、YYYY/M/D H:MM形式に変更しました。これは、●分返却が遅れた場合に延滞ペナルティが付けられるようにする為です。
(コード)
(3)バックアップの世代設定できるようにしました。
menuシートの「終了する/再ログイン」ボタンで終了した場合に、この世代数に従って、別名保存します。tableシートのi9値に世代数までの番号を付与したファイル名で別名保存します。「3」に設定すると、Excel図書管理Ver2.●●_back1.xlsmからExcel図書管理Ver2.●●_back3.xlsmまでの3つのファイル名で順番に上書き保存されます。
(保守・管理)
(4)menuシートの画像を変更しました。Ushikaiさんのものを利用させていただいています。(MENUシート)
(5)貸出・返却の受付をUserformかシート版か、選択できるようにしました。
基本、受付については、どちらで行っても記録される先は同じで、図書データは図書管理表シートに書き込まれ、会員データについては会員一覧シートに、ログは受付記録シートに書き込まれます。(保守・管理)
注)Userformでの受付では1冊づつ受付け記録しますが、シート版の場合は5冊まで一括して受付記録することができます。
(6)未返却本がある場合、それでも貸出するか、しないかの条件を設定できるようにしました。(保守・管理)
(7)貸出UserFormの返却予定日●日後、textboxを直接変更した場合、返却予定日・曜日の自動変更するように微調整。併せて、休館日カレンダー利用の場合にも対応するように変更しました。
(8)会員有効期限チェックリスト・出力の微修正しました。
会員一覧から項目名をWORKシートにコピーするように変更。
(9)貸出時に、貸出回数を表示するようにしました。
また、保守フォームで指定数を入力することにより、その指定数の倍数に貸出回数がなった場合に、メッセージボックスを表示するようにしました。指定数を0にすると、メッセージボックスを表示しません。
注:初期セル設定で、「貸出返却シート版」シートのチェック・関数再代入はありません。 データ移行ブックでは、このシートのデータの移行は未対応です。
注2:デモデータが登録されています。
これは、お試しで動作確認できるよう入力されています。開始前には、データを消去してから行う必要があります。保守・管理から補助タブでデータを消去するか、手操作で行う場合は、セル範囲をdeleteキーで消去してください。行・列全体の削除などは行わないでください。エラーが出ます。
図書管理表 001から1020番と4件の13桁コード本が登録されています。
会員一覧 001から100番まで登録されています。
受付記録 294件
操作担当者 4名分:ID admin、admin2 ともにパスは123 : 特権ユーザー
a001、a002 パス:001、002 :一般ユーザー
ただし、ログイン処理は無効となっていますので、上記ID等は使用しません。
tableシートに、出版社データ、図書分野データが仮に入力されています。
ファイルサイズ: 2.03M
【2.170の変更点】
[1]キーボードでの操作性をアップ。
機能選択する場合に、マウスクリック以外にキーボードからの番号入力でも
出きるようにしました。
menuシートからの番号で各処理(フォーム表示へ)
フォーム上で、番号入力で処理実行。
[2]図書管理表シートのP列の定義。
P列は入庫区分専用列としました。
[3]貸出時に、カレンダー表を見るオプションを追加しました。
事前に、「カレンダ」シートをメンテナンスしておいてください。
保守補助で、カレンダを使うを有効にしてください。
[4]その他細かな修正・機能変更を行いました。
終了(閉じるか、エクセルを終了するか)選択可能としました。
貸出フォーム-返却フォーム間の変遷の仕方を変更しました。
※詳細は、同梱のreadme.txtをご覧ください。
【2.163bの変更点】
・保守・管理フォームで、新しい図書登録~更新で、貸出可否に入力しても図書シートに
反映しない件を修正しました。
・同じく保守・管理フォームで、Table設定~取扱い最大行数 (セル関数内の行数)の処理を見直しました。ここでの数値は、シート内のセルに埋め込まれている関数式内のセル範囲を変更する処理です。例:vlookup式などをセルに代入している場合、セル範囲を固定にしないで、指示に基づいて自動変更するものです。
・今回は、修正したブックのみを同梱しています。他のブックが必要でしたら、Ver2163
から入手をお願いします。
【2.163の変更点】
・Ver2162Bの起動エラーのため、Ver2162から2163を作成。
・貸出フォームでの会員検索で、検索条件のセル範囲クリア列足らずを修正。
・操作担当者の管理権限の見直し:特権ユーザー1人だけを複数人OKに。
・保守管理UF:新しい図書登録タブ:一括登録ボタン 修正し有効に
・保守管理UF:最大管理行数を変更時に、シート上の関数式の値を自動で変更
・(保守管理UF)各タブでの登録ボタンには、上書き保存処理が既にあり。
・会員登録UFで、郵便番号からexitするときに、エラー処理を追加。
・新規の図書登録シートでの重複チェックをシート上の関数式から、マクロでの
チェックに変更した。
・新規の図書登録シートで、図書管理表に追加登録する場合、日付は明示的に
"yyyy/m/d"形式で代入するように変更。
・会員証期限を設定している場合、その期限が迫っていることを表示する
ようにした。貸出時、返却時、予約時、予約本貸出時 4つのUF内に、
module8.期限チェックの実行を追加。
・保守管理に、図書番号と会員noのデータ重複チェックを追加した。
-----------------------------
2016/9/17
EXCEL図書管理のサポートブックの中にある、図書ラベルカード作成・マクロブックが
定義漏れ・定義間違い等がありましたので、修正版をアップしました。
EXCEL図書管理サポートブックの中にある図書ラベルカード作成は使わずに、
別途配布するものをお使い下さい。
http://engi-seishi.la.coocan.jp/excel_sample.htm#supports
http://engi.cocolog-nifty.com/sirenai/2016/09/excel-a7e2.html#more
2016/1/27
EXCEL図書管理のサポートブックをアップしました。Vectorから、どうぞ。
個別にアップしていた蔵書点検作業表の作成とか、会員カード作成などの
マクロブックとそのマクロブックをオープンするためのメニューブックです。
【xl_tosyo_SupprtBook_v100.zip 同梱物】
xl_tosyo_Support_v100.xlsm ← このブックがメニューブックです。
xl_tosyo_SupportBook_readme.txt
xl_tosyo_data_ikou2170.xlsm
xl_tosyo_sheetcheck.xlsm
xl_tosyo_Label_Ver2.xlsm →2016/9/17現在、Ver2dをお使い下さい。
xl_tosyo_mem-cardVer2.xlsm
xl_tosyo_tana_v104.xlsm
xl_tosyo_MakePOP.xlsm
xl_tosyo_mailGr.xlsm
メニューブックです。メニューブック:xl_tosyo_Support_v100.xlsm から、単独のブックを読み出します。
【機能(サブブック)の説明】
<データ移行 xl_tosyo_data_ikou2170.xlsm>
■シート・チェック xl_tosyo_sheetcheck.xlsm
EXCEL図書管理ブックの各シートのチェックを行います。
通常、EXCEL図書管理ブックはVBAの勉強として作成し、その後も勉強教材として
使用・機能追加してきていますし、その方を主として想定していますので、
データに直接アクセスできるようになっています。
もし、当ブックを使って運用だけを行いたい場合は、保守補助でシートタブ非表示
なりすると良いと思いますが、デフォルトでは各シートにアクセス・セルへの入力
制限はありませんので、マクロ処理上で不具合になりそうなセルへの値があるか
どうかのチェックを行います。
■図書カード発行 xl_tosyo_Label_Ver2.xlsm
EXCEL図書管理のデータを使用して、図書カード(図書に貼り付ける)を
作成(印刷プレビュー)します。実際に利用する場合は、プリンターの位置調整
などを行ってください。 ラベルは限定されます。
■会員カード発行 xl_tosyo_mem-cardVer2.xlsm
EXCEL図書管理の会員データを使って、会員カード・図書館カードを作成します。
実際に利用する場合は、プリンターの位置調整 などを行ってください。
ラベルは限定されます。
■バーコード作成 Bコード!A1
当ブックの他のシート上にて、行います。
任意のバーコードをシート上に作成します。
■蔵書点検用作業ブックの作成 xl_tosyo_tana_v104.xlsm
EXCEL図書管理の図書データと実際に点検(チェック)した本の番号を比較し、
差異データを出力します。
■図書の削除
現在、未定義です。
■新着案内の作成 xl_tosyo_MakePOP.xlsm
EXCEL図書管理の図書データを指定し、簡便に新着案内を作ろうという
マクロです。
まだ、フローがこなれていません。
■同報用のメルアドGr作成 xl_tosyo_mailGr.xlsm
会員などにメール連絡する場合があると思われますが、その時に、個々人宛に
送るのではなく、BCCに複数人を入力して発信すれば簡便だと思い、個々人の
メルアドを自動でつなげるマクロを作ってみました。
メルアドGrと言っていますが、指定した数のメルアドを「,」(カンマ)で
つなげる処理です。
========================================
2016/1/22
EXCEL図書管理Ver2.170にアップしました。
【2.170の変更点】
①操作性の向上のために!?
・MENUシートで、キーボードからの数字入力で処理が始まるようにした。
1=貸出し、2=返却、3=検索/予約、4=保守、5=予約貸出準備、6=利用者登録、9=終了
0=使える番号表示
・貸出Formで、番号で処理実行可とする。
↓会員NoTextbox
2=返却、3=検索予約、4=予約本貸出、6=予約準備完了、9=閉じる 0で番号ガイド
↓図書NoTextbox
1=全消去、2=返却、3=検索予約、4=予約本貸出、6=予約本貸出準備、
7=貸出票印刷、9=閉じる。 0で番号ガイド
・返却Formで、番号で処理実行
↓図書NoTextbox
1-貸出しフォームへ、9-閉じる 0で番号表示
②会員登録フォームから、貸出フォームに遷移できるようにした。+実績詳細表示を
追加→実績:図書管理表シート貸出状況+予約状況をworkシートに書き出し。
③Thisworkbook.Pathとbook.nameをtableシートQ1,Q2に書き出す。
table!M1に、最終保存年月日を記録する。
④図書管理表のM列、P列の仕様(定義)を決める。検索条件領域も変更。
なお、Tableシートの設定。今後、ここから参照する。
P列:入庫区分 ブランク/0=通常購入、1=寄贈、3=借受
P列の入力値もTableシートに設定
M列:貸出可否、1=予約不可、2=貸出不可、7=破損、8=紛失、9=廃棄
⑤保守管理のリスト出力・バックアップTABに、予約受付件数、貸出不可件数、
借受件数の表示を追加。
⑥図書の新規登録シートで、入庫区分の列(I列)を追加。
データの入力規則を100行までとした。分野、出版社、入庫区分に入力規則あり。
⑦保守管理UFの新しい図書登録TABに、入庫区分ボックスを追加。
⑧図書ISBN検索で、13桁以上の場合13桁で検索するように修正。
13桁未満は10桁で検索に。
⑨バーコードモード用シート「Bリーダー用」でのEnterマクロを微修正
貸出→K、返却→H、戻る→B でも受け付けるように変更。登録→T
⑩menuシートとbリーダー用の2つのシートActive時、ENTERキーにマクロを
割り当てている。割当状態を表示するか選択できるようにした。
Tableシートi167.
⑪保守フォーム: 当ブックの終了の仕方を選択できるようにした。
エクセル自体を終了するのか、当ブックのみを閉じるのか。
Tableシートのi169で、quitかcloseか、どちらかを選択しておく。
⑫Userformのデフォルト・アクティブ項目で、9入力で閉じるように変更。
~キーボード操作対応~
⑬保守管理フォームに、予約受付件数、貸出不可冊数、借受本数の表示を追加
⑭Enterキーにマクロを割り当てているかどうかの判定値をTableシートの
i171(on/off)で記録することとした。Onの場合なら、再度マクロ割当を行わない。
⑮保守管理Userform(uf5):ControlChiptxtでヒントを2項目表示させる。
新しい図書登録TAB
⑯貸出フォームから返却フォーム、またその逆について、userform.hideを
止めて、Unload→showに変更する。切替え戻った時に値は以前は残っていたが
今回の変更で、消えることになる。
⑰menuシートからフォーム→フォーム→フォーム→シートとアクティブを
変えると、再度シートがアクティブにならないとか、loginフォーム→addフォーム
再度login→IDパス入力すると、menuシートは表示されているが、文字は受け付けない。
完全なアクティブではない状態。ただ、どこかクリックすれば、その現状は
解消する。→フロー見直し:修正
⑱上記に関連し、tableシート: i167、i169、i171に条件入力項目。
i167:enterキーにマクロを割り当てたかoffしたかのmsgbox表示するか否か
i169:というブックの終了の仕方の指示
i171:enterキーにマクロを割り当てたかどうかの状態を記録
⑲保守:セルの初期(書式)設定のコード修正:文字列書式コード修正、あわせて、
UF3:貸出で、セルに書式設定してから値入力するように変更。
図書管理表=maxdata行まで、会員一覧=最終行+500まで、受付記録=30000行迄
予約受付=1000行まで、操作担当者=50行まで、図書の新規登録=100行まで
⑳保守:リスト処理などで、WORK,WORK2シート上のオブジェクト(ボタン以外)すべて
クリアするように変更。 保守(UF5)の「リスト出力・バックアップ」のデータ件数に、
貸出不可件数と借受本件数を表示するよう追加。
⑳UF3:貸出フォームで、予約表参照~予約表が見えないバグ修正。
vbmodelessでshowに、変更。
?menuシートのボタンにセルコメント表示するように変更。
保守で表示選択が可能。
(22) 返却FORMで、予約本があった場合、予約本貸出設定画面に、図書NOを
受け継ぐように変更。
(23)終了時に、workシートをアクティブにして、終了するようにした。
beforecloseで、workシートclear処理追加。終了時、に保存するかのMSG表示されるが
現在のところ、無視してOK。
(24)オープン時のLoginフォームOKで、操作前保存を取るようにした。
open_backup_EXCEL図書管理Ver2170.xlsm 同一フォルダーにて。
ちなみに、終了時は、Excel図書管理Ver2.170-CloseBackup.xlsm
(25)未返却リストのコードの見直し。最適化。
変数を定義。on goto error を削除。エラーがあれば落ちるようにした。
(26) 休館日カレンダーシートを追加。
もし、変則的な開館スケジュールである場合、土日以外にも閉館がある場合、
固定返却日では対応できない場合、このカレンダーシート上に、休館日と
入力しておくことで、休館日の次の日を返却予定日とします。
このカレンダーを使用するかどうかを、tableシートのi177(有/無)で判定する。
あわせて、保守フォームから設定できるように、保守フォーム変更。
(27)貸出フォーム、会員一覧フォームのカーソル移動について、見直しをトライするも
ありたい動作に変更はできなかった。
(28)会員情報登録UF1:登録する際に、登録行のセルに書式設定をしてから、
textbox値を代入するように変更。
(29)終了のフローを見直し。workシートをアクティブにして終了するように変更。
enterキーのマクロ登録を正しく終了させるため。 運用時は、コードを変更して
下さい。コードは、thisworkbookのbeforeClose内で定義します。
「×」で閉じる場合に、保存しないで終了できます。
「終了」ボタンで終了する場合は、上書き保存しバックアップ保存もします。
また、オープン時にバックアップを取ります。固定ファイル名で上書き保存。
■Excel図書管理Ver2.1の説明書+QA集
http://engi-seishi.la.coocan.jp/Tosyo_setumeiVer210html/index.html
■Excel図書管理の想定業務フロー、機能フロー図などの資料
http://engi-seishi.la.coocan.jp/excel_sample.htm
■操作の動画説明
貸出、返却、時々予約の操作
http://youtu.be/UPFxNB2lkow
会員登録、ログイン、伝言板利用
http://youtu.be/JKjd5Zkd__4
図書の登録方法、MENUシート切替え
http://youtu.be/tMH5wgmnCyQ
==============================================================================
2016/1/3
画像付き報告書(Gazou_paste_book)マクロブックのコード修正。
画像削除のセル番地間違いを修正。
2015/10/18
Excel図書管理用蔵書点検(要は棚卸作業)時に使用する入力ブック(9/27up)を更新
しました。
http://engi.cocolog-nifty.com/sirenai/2015/10/excel-1c3d.html
2015/9/27
Excel図書管理用の棚卸作業用ブック(図書番号入力があり、登録されているかの関数式が
埋め込まれている)を自動作成するマクロブックをアップしました。
http://engi.cocolog-nifty.com/sirenai/excel_1/index.html
2015/9/20
Excel図書管理ver2.163bをアップしました。
(1)Ver2163での保守管理~新しい図書登録~貸出可否の入力値が正しく図書シートに反映しない件を
修正しました。
(2)併せて保守管理のTable設定・最大行数の設定の内部処理も変更しました。
2015/9/9
Excel操作ガイドとして、Excel入門Ⅰ(下書き版)をアップ:ページの右側下方にリンク設置。
マクロの一歩手前まで。
2015/6/14
(1)Excelで会議室の予約システム・サンプルを掲載。
BLOGへのリンクだけど。
(2)EXCEL図書管理のデータ移行ブックv2163に更新。
2015/5/31
【2.163の変更点】
・Ver2162Bの起動エラーのため、Ver2162から2163を作成。
・貸出フォームでの会員検索で、検索条件のセル範囲クリア列足らずを修正。
・操作担当者の管理権限の見直し:特権ユーザー1人だけを複数人OKに。
・保守管理UF:新しい図書登録タブ:一括登録ボタン 修正し有効に
・保守管理UF:最大管理行数を変更時に、シート上の関数式の値を自動で変更
・(保守管理UF)各タブでの登録ボタンには、上書き保存処理が既にあり。
・会員登録UFで、郵便番号からexitするときに、エラー処理を追加。
・新規の図書登録シートでの重複チェックをシート上の関数式から、マクロでの
チェックに変更した。
・新規の図書登録シートで、図書管理表に追加登録する場合、日付は明示的に
"yyyy/m/d"形式で代入するように変更。
・会員証期限を設定している場合、その期限が迫っていることを表示する
ようにした。貸出時、返却時、予約時、予約本貸出時 4つのUF内に、
module8.期限チェックの実行を追加。
・保守管理に、図書番号と会員noのデータ重複チェックを追加した。
2015/5/22
【Ver2162Cに。若干の修正。】
Ver2162Bがどうも壊れていたようなので、再度アップし直し。
と同時に、保守管理Userform2の一括登録ボタンのシートアクティブ指示と
Userformのclose時の処理でのシートアクティブ指示がバッティング。
Userform内での変数値(FLG2)で切り替えることにした。
2014/10/14-10/20
【2.162の変更点】Ver2.162
①会員カードの有効期限をV2161で行ったが、貸出し・予約時に、この有効期限の
チェックをしていなかったので、今回実装しました。
②図書ラベルと会員カード発行マクロブックを同梱しました。
注)図書管理ブックへの書き込みはありません。
すべて同一フォルダーに置いて使って下さい。
【tosyo2161.zip 同梱物】
EXCEL図書管理Ver2162.xlsm 図書管理ブック(本体)
sample.jpg 利用者登録時のダミー画像
sign.dll amazonに接続する場合は必要。
xl_tosyo_data_ikou2161.xlsm 旧ブックからデータを移行するマクロブック
xl_tosyo_Label_Ver2.xlsm 図書ラベル作成ブック
(ブック内に説明シートがあります。)
xl_tosyo_mem-cardVer2.xlsm 会員カード(図書館カード)作成ブック
xl_tosyo_mem_cardVer20.txt 会員カード作成ブックのreadme
xl_tosyo_mem-cardVer2_sheets.pdf会員カード作成ブックの画像付説明
tosyo2162-readme.txt 当テキストファイル
2014/10/10
EXCEL図書管理2.161にアップ: 2014/9/20-10/10 Ver2.161
①Userform15:本の検索:listbox表示rowsource文の修正
②予約上限冊数の設定可能にした。 (table!i132)
③プライバシーモード追加:受付記録シートに会員NOと氏名を記録しない。(****)を
代入する。[貸出、返却、予約貸出] (table!i134=有無)
④検索と予約(UF15):詳細情報の印刷(図書番号のバーコード付き)追加。
⑤会員カード(図書館カード)の有効期限が設定できるようにした。
有効期限を採用しない場合は、その値を空白にします。
会員一覧シートで3列追加となった。[登録年月日、更新年月日、有効期限日]
初期値は5年。 [table!i136]
同時に、保守管理で、有効期限切れリスト出力を追加。
⑥図書管理表と会員一覧の各シートで、データベース範囲とフィルター出力先範囲の
間隔を広げた。
2014/8/30
はがき宛名印刷のマクロブックを若干修正。(その他カテゴリー)
2014/8/15
EXCEL図書管理ブックのサポートブック:会員カードの発行ブックVer2.0をアップしました。
会員NOの付け方もいろいろあると予想されることから、数種類のパターンに対応できるように
したつもりです。
課題は、セル内のshapesを把握できないので、セル範囲を図としての貼り付けで回避したことでしょうか。
今後、調べてみたいと思います。
2014/8/4
EXCEL図書管理ブックのサポートブック:会員カードの発行ブック(Ver1.0)をアップしました。
まだ、完成はしていませんが、イメージとして参考にしていただければと思います。
操作は、「表面シートの説明」をご覧ください。
2014/7/26
QA・説明書に、図書のデータ移行と図書ラベルの作成の2項目を追加。
2014/7/21
図書ラベル作成マクロのVer2.0です。
ユーザーフォーム上で、図書データ一覧から選択して、
ラベル印刷できるようにしました。
2014/7/2
※図書ラベル作成のマクロブックで、オープン時に更新されないリンクがある旨の
メッセージが表示される件についての対処を記載。
リンク元である c:\users\****\downloadフォルダーに、EXCEL図書管理Ver2161.xlsmを保管して下さい。
EXCEL図書管理Ver2160.xlsmをリネームして、EXCEL図書管理Ver2161.xlsmにしてもOKです。
再度、オープンすると、これらのメッセージは表示されないと思います。
VBEで、モジュールをコピーすると、このような事が起きるのだろうか?
2014/6/30
※図書ラベル作成(印刷)のマクロブックをアップしました。
サポートブック内に保管しています。
古い図書などで、ISBN番号・バーコードが無い本などのために、
バーコードのラベルを21面シートに簡便に印刷するためのマクロブックです。
2014/6/15
※ データ移行で、フィルター検索や計算が遅くならないこと。
ここしばらくこの現象が出ていた。
・セルの書式や関数式を再設定する「初期セル設定」のコードの見直し
データ移行では、オープン時ポイント
・オープンするブックでのオープン時のマクロの無効化
・ログイン無効化
①本の検索/予約で、予約一覧見るで、連絡先を追加して出力するように変更
②未返却リストに、最終列の隣に、連絡先を追加貼り付け
③返却受付けフォームで、貸出し延長ボタンを設置。期間は保守tableで設定。
④遅延記録を受付記録に書き込み、会員一覧(I列)に回数を加算するように変更。
⑤初期セル設定のコード修正
⑥「図書の新規登録」の重複チェック関数式の変更 H列10行目から下方に1000行、関数式を代入。
v2.06
=IF(OR(COUNTIF(図書管理表!$A$5:$A$65536,A10)>0,COUNTIF($A$10:$A$65535,A10)>1),"NG","OK")
v2.160
=IF(A10="","_",IF(OR(COUNTIF(図書管理表!$A$5:$A$65536,A10)>0,COUNTIF($A$10:$A$65535,A10)>1),"NG","OK"))
⑦データ移行ブック(xl_tosyo_data_ikou.xlsm)の調整での修正
⑧会員データフォームでのカーソル移動の調整
⑨保守フォーム:図書の登録でのカーソル移動の調整
⑩検索と予約フォームの検索開始のプロシージャで、
フィルターオプション実行の前後に、手動計算モード~自動計算モードの変更を追加。
⑩その他コードの微修正
⑪データ移行ブックをアップしました。(旧ブックと新ブックを指定するだけで、データ移行します。)
xl_tosyo_data_ikou2160.zip
2014/5/10
[Excel図書管理] Ver2.151
①不明な外部リンクの削除
②初期セル設定プロシージャーによる不要な再計算実行の改善
値変更していないのに、再計算が実施され時間がかかる症状。
③「Bコード印刷用」シートの改善。
バーコードを連続して作成できるようになりました。(1列のみ)
④当ブックを、2001年からの保存・更新したブック利用から、新規ブックに移行
2014/5/4
http://engi-seishi.la.coocan.jp/excel_sample.htm
http://engi-seishi.la.coocan.jp/excel_sample.htm#etc
「Excel Sample Books」の「その他」~「エクセル(2010)でバーコードを作成する」
[Createbarcode.xlsの修正]
http://www.vector.co.jp/soft/win95/writing/se333820.html
偉鷹 仁さんのCreatebarcode.xlsを見よう見真似で修正してみた。
確か、前回は修正点のみの記載をblogでしたかと思うが、
今回、サンプルとしてエクセルブックをアップします。(対応:Excel2010)
[ActiveXコントロール(PSYTEC社製フリーソフト)でのバーコード作成 サンプル]も合わせて、
アップしています。
2014/5/2
[Excel図書管理] Ver2.140
①終了時の別名保存、予約本貸出準備(自動引当)でのソートの処理で、XLの
バージョン毎にコード分ける。
②予約受付フォームで、検索と予約フォームから呼ばれた場合に、テキストボックスから
セルへの代入や、セルからテキストボックスへの代入の場合に、変数を介して
行うようにした。
③予約受付で、予約不可・貸出不可の本は予約できないように修正。
④予約フォームでのエラーチェック 修正
⑤図書管理表シートA列IME不可入力規則設定を最大行まで適用に。
⑥tableシート(i128)で定義する。
⑦検索と予約で、予約不可・貸出不可の図書は予約受付フォームを開かない。
⑧取扱い最大行数(Maxdata)を65500等絶対値定義していたが、変数化した。
⑨予約有効期限超えデータの削除処理を追加。(保守:リスト出力)
自動引当済みであることが条件。引き当たっていない物は削除しない。
2014/4/27
[YoutubeにExcel図書管理操作説明の動画 第3弾アップ]
http://youtu.be/tMH5wgmnCyQ
2014/4/27
[Excel図書管理]Ver2.130
①MENUシート切替可能に(異なる絵柄のシートに)
②貸出票印刷可能に。
③予約貸出可能本がある場合、貸出し時にメッセージを表示。
④新しい図書登録で、4つのネットサービスを使えるようになった。
国立国会図書館、book.or.jp、amazon、楽天
⑤その他細かなバグ等修正
2014/4/13
[その他VBAブック]ISBN番号で図書情報取得をアップしました。
amazon、楽天、book.or.jpWEB、国立国会図書館の4つから
ISBN番号で図書情報を取得するVBAブックです。
2014/4/11
[Excel図書管理]Ver2.120バグ修正版
【2.120の修正・追加】
①予約本の貸出処理の閉じるボタンのコード修正
②会員フォームのスピンボタンのコード修正
③ログイン時にリボン最小化
④MENUシート左下に「?」から、説明書WEBか現在の条件設定状況表示
かを選択できるようにしました。
【2.110の修正】
①予約本の貸出処理でコード間違いの修正
戻る[Excel_Sample]