EXCEL図書管理
(貸出・返却・予約の機能、会員管理、貸出分析、未返却リスト等)
最新のVersionは、Ver2.187c02です。 【説明書・QA集】
サポートブックはこちら
※一部修正(20160917)
3つのMENUシートを用意しています。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
上記でエラーが出る場合は、EXCEL64ビット対応版を下記にてアップしていますので、ご利用ください。
https://engi.cocolog-nifty.com/sirenai/2024/02/post-98b146.html
↑Excel図書管理ver2187c02.xlsmがアップされています。。
なお、ダウンロードしたエクセルブックは、マクロブックですので、ファイル〜プロパティ〜許可にチェックし、
適用ボタンクリックしないと、マクロが有効になりません。
詳しくは、https://oyasan.kantan-aoiro.net/faq/faq04.html とか、
https://excel23.com/macro_block/ をご参照ください。
■Ver2.187c01から、Ver2.187c02への変更点 −−−−−−−−−−−−−−−−
●バーコード作成のコード&シート(Bコード作成)を削除
〜バーコード作成の場合は、CreateBarcode.xlsmを利用してもらうこととする。
もともとこのブックを流用していただけなので、64ビット対応を経緯として、
流用中止とする。
●終了処理コード見直し
ThiswoekbookのBeforeCloseでもコード有り。
thisworkbookのコード修正・一部終了プロシージャーに移動。
合わせて、終了時の後処理の順番を変更
●loginフォームの修正
loginフォームでID・パスワード未入力でokボタンクリックで、フォームを閉じるように変更。
●初回メッセージ分の修正
ログインIDパスワードなしでも、OKの旨追加。
●会員番号で検索して詳細を表示させる場合の有効期間表記の修正
Userform2リストボックスダブルクリックのコード
〜会員一覧N列値がブランクの場合はブランク表示に変更する。
※図書管理表A列5行〜368行まで文字列設定済。
■Ver2.187からVer2.187c01の変更点 −−−−−−−−−−−−−−−−−−−
1.バーコード作成の機能はサポート不可の為、削除しました。シート並びにコード。
もし、バーコード作成したい場合は、CreateBarcode.xlsm(Vectorにアップ掲載されています。
64ビット対応版です。)をご利用下さい。
2.作成者の環境が、EXCEL2019 64ビット版になりました。
3.Ver2.187(Excel32ビット版)のDeclare→Declare ptrsafeに語句置き換えで64ビット版対応とした。
この状態でバーコード作成を使用とすると、オートメーションエラーが発生するため、
バーコード機能削除としたのも理由の一つです。移植・流用が面倒というものあります。
4.Windowsの短い日付(デフォルトで、yyyy/mm/dd形式表示)を曜日付きに変更すると、
貸出時にエラーが発生し、処理が中断します。現在、対応の予定はありません。
どうしても曜日を表示したい場合は、長い日付の形式で、曜日表示としてください。
年月日表示に、マウスポインタをもっていくと、長い日付が表示されます。
【2.187の変更点】 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
■2021/2/12 Ver2.186a EXCEL2010(32bit)にて更新
・Userform15(予約のユーザーフォーム)を×ボタンで閉じたときに、図書管理表シートがアクティブになる。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As
Integer)プロシージャー追加し
MENUシートがアクティブになるようにした。
※https://ateitexe.com/excelvba-judge-userform-close-button/ 参照
・Thisworkbook_open内のChdirをコメントアウトする〜EX2019でパスが見つからないのエラーになるので。
■2024/1/18 Ver2.187 EXCEL2019(32bit)使用・更新
1.国立国会図書館のNDLサーチが2024/1/5にリニューアルとなり、従来のコードで
エラーコード2147024891
が表示されます。
対応版が下記URLにアップされていました。
ver1451ブックのコードを流用させていただき、当ブックの図書の新規登録コードを変更しました。
http://www.slis.doshisha.ac.jp/%7Eushi/ToolNDL/
注:エラー コード
-2147024891 は 、アクセスが拒否されたことを意味します。
MODULE1.MAINプロシージャー以下すべて変更(コード転記)。
NDL_Deprecated
NDL_UTILの標準モジュール追加
NDL_UTILモジュールのShowResultプロシージャー一部変更
NDL_SRUのクラスモジュール追加
Userform5の新しい図書の登録タブの登録ボタンのコード変更
→入庫日を入力日時分としてみた。
2.MENUシートのボタンのコメント表示が隠れないように微調整しました。
3.プロシージャー"netから図書情報を取得()"
図書情報取得方法を国立国会図書館をデフォルトとし、inputboxに既定値として1を入力するように変更
【2.186の変更点】 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(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:古いバージョンでは「×」で閉じないようにしているかも。
以上。
【2.185の変更点】 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
■オープン時に、「インデックスが有効範囲にありません。」のメッセージが表示され、 シートタブが非表示となる現象の対応。
[原因] 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の変更点】 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【追加した機能】
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のいずれかを入力し、貸出できることを確認します。
【2.183の変更点】 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
@「図書の新規登録」で、図書を追加登録するコードを変更。セル→セルの代入から、
セル→変数→セルの代入に変更しました。。
A予約検索フォーム〜詳細情報印刷〜work2に情報が書き込まれますが、バーコードが
作成されないのを修正。 CreateBarcodeモジュールのprintBarプロシージャー内で、高さを参照するセルのシートをアクティブシートにしていた為。Bコード印刷用のシートとしました。
B保守管理(UF5)・図書の一括登録ボタンで、非表示状態の時に機能しないのを、
シート非表示でも、「図書の新規登録」シートを表示するように変更しました。
C図書の新規登録(一括登録)のロジックを修正。
登録できない図書もクリアされていたのを残すようにしました。
合わせて、登録前に、区切り位置で文字列にするようにしました。
D楽天apiの仕様変更で、図書情報取得できず、使用不可としました。
Eamazon、楽天の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/
F「Bリーダー用」シートは削除しました。
Ver2.181にバージョンアップする前の検討
【2.180c、修正版】
(1)ログイン機能でシート非表示を使用するための修正
修正箇所の記事: http://engi.cocolog-nifty.com/sirenai/2017/03/excel2180-5a0d.html
http://engi.cocolog-nifty.com/sirenai/2017/04/excel2180-c4d6.html
http://engi.cocolog-nifty.com/sirenai/2017/04/excel2180-2f30.html
http://engi.cocolog-nifty.com/sirenai/2017/04/excel2180-162c.html
修正したブック → EXCEL図書管理Ver2.180c(2017/4/3)版
Ver2.180以前のバージョンは、下方の「EXCEL図書管理:前のバージョン」の項にあります。
【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
■ 「保守・管理」のTable設定フォームの説明
■ 【EXCEL図書管理】図書貸出回数の表示と指定数の倍数時にメッセージ表示する
■ 今回Ver2180から新しく「貸出し返却シート版」というシートを追加しています。
そのシートの説明 → (エクセルブック:Kashidashi_Sheet_Version_Setumei.xlsx)
-
ブック名:「Excel図書管理」
Version: 2.1XX〜
主な機能:
@会員管理
A貸出受付け
B返却受付け
C予約受付
D貸出記録の分析
E新規図書データをAmazon・楽天から取得可能
Fバーコードでの操作
GVBAに保護がなく、流用可能。
Hメモを表示
Iトップシートの画像の入れ替え可能バーコードの読み取り用に試したバーコードリーダー。「エフケイシステム CCDバーコードリーダー USBインターフェイス TSK-U」 2008年購入\6300-
2014/4現在:
CCDバーコードリーダー
USB接続 CCD-700
PC-POSのエフケイシステム 2,980 円税込・送料別
EXCEL図書管理とは?
- 小さな図書館業務を支援するエクセル・VBAブックです。
- 貸出し、返却、予約の機能、会員管理(画像登録)と貸出分析、未返却リスト、貸出中分析などができます。詳しくは説明・QA集をご覧ください。また、Youtubeで操作を紹介していますので、参考にして下さい。
- そもそもは、自らのVBA学習の為に作成しました。
- もっと簡単にVBAが広まればいいなぁと思います。
- なので、VBAコードにパスワードはかかっていません。
- それほど大したコードはありません。ご自由に改変して下さい。
-
無いとは思いますが、転売、再配布、営利活動での利用は禁止です。企業でも、社内図書の貸出について利用する場合は自由にお使いください。
※詳しくは、こちら。 - 当サイトのエクセル・VBAブックを利用することで被った損害又は損失等について、当サイト管理者・配布者は一切の責任を負いません。
EXCEL図書管理サポート・ツールブック
●サポートブックVer1.00 2016/1/22
xl_tosyo_supportbook_v101.ZIP(Vector)
※同梱の「xl_tosyo_Support_v100.xlsm」がメニューブックです。
このブックから、他のマクロブックをオープンします。
※図書カード作成ブック(xl_tosyo_Label_Ver2d.xlsm):定義間違い等の
修正をしたものをVer2dとして、別途アップしました。 2016/9/17
【EXCEL図書管理】図書ラベルの作成:不具合修正
http://engi.cocolog-nifty.com/sirenai/2016/09/excel-a7e2.html#more
http://engi.cocolog-nifty.com/sirenai/files/xl_tosyo_Label_Ver2d.zip
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
●データ移行ブック :旧バージョンのEXCEL図書管理ブックのデータを新バージョンのブックにコピーします。 →最新版は、サポートブックに同梱されています。そちらをご利用ください。(2016/1/27)
xl_tosyo_data_ikou2161.zip
xl_tosyo data移行2163
●図書ラベルの作成(バーコード付き) xl_tosyo_Label_Ver1.zip
注)ダウンロード後の注意点
●図書ラベルの作成Ver2.0
図書ラベルの作成:不具合修正:2016年9月17日 修正版 Ver2d↓
https://engi.cocolog-nifty.com/sirenai/2016/09/excel-a7e2.html#more
●会員カードの発行ブックVer2.0
●蔵書点検用の作業ブック自動作成
<top>
EXCEL図書管理の資料:各種フロー図など
YouTube操作説明動画(貸出・返却・予約の一連の操作)
YouTube操作説明動画(会員情報登録、猫伝、ログインの操作)
YouTube操作説明動画(新しい図書の追加の仕方とMENUシート切替)
Excel図書管理Ver2.1の説明書+QA集 (webページ)
フォーム全体関連図、フォーム遷移図 (pdfファイル)
業務フロー図 New
貸出処理フロー 返却処理フロー
予約受付けフロー 予約本の貸出準備登録 予約本の貸出フロー
各シート説明 各Userform説明 Tableシート説明
Public変数値
EXCEL図書管理:以前の資料
□ amazonAWS:アクセスキーの取得方法
□ 初めてEXCEL図書管理ブックを使う場合の説明ブック Download <2012/2/25>
□ 楽天から図書情報を取得する
□ Excel図書管理のカスタマイズ例 (或る例) <2011/10/18>
□ amazon署名付きで情報取得のコード。
□ Ver2.00の使い方・説明はこちら
□EXCEL図書管理で、バーコードリーダーを使う
<バーコードモードの説明>
EXCEL図書管理:前のバージョン
Ver2.180
2017/1
Ver2.170
2016/1
Ver2.164
2016/1
Ver2.163b 2015/9/20
Ver2.151 2014/5/10
Ver2.130
2014/4/27
Ver2.120
2014/4/11
Ver2.100_2 2014/4/5
Ver2.091
Excel図書管理2.091 (2013/9/21) 説明シート
・操作担当者を選択・記録する機能を追加。
Ver2.09 Excel図書管理2.09 (2013/8/31) 説明シート
・バーコード作成でエクセル不安定となるのを解消。
Ver2.08 Excel図書管理2.08 (2013/1/20) 説明シート
・貸出受付フォームに、貸出チェックボタン追加
・会員毎に貸出上限冊数を設定できるようにした。
会員に貸出制限グループを入力し、tableシートにグループ毎の上限値を入力します。
Ver2.07a の修正:「返却受付フォームの検索ボタンでエラー」の修正
Ver2.07a EXCEL図書管理2.07a (2012/3/3)
・2.07のAmazonAws利用構文修正。Aws仕様変更に対応。
Ver2.07 EXCEL図書管理2.07 (2012.2.25)
・利用者登録フォーム内で、利用者の画像を選択・登録できるようにしました。
JPGのみ対応です。
Ver2.06a Excel図書管理2.06a (2011.9.30)
(vector)
・保守管理での図書データ取得の定義修正。
Ver2.06 Excel図書管理2.06
[2011/9/14-16 Ver2.06 XL2007互換モード]
・「図書の新規登録」シートでAmazonからのデータ取得のマクロを
MASさん仕様に変更。FORMで取得するマクロは従来のまま。
・Amazonから連続してデータ取得する場合、1回の処理後に間隔をあけないと
エラーとなる事象発生。従来の2秒停止から5秒停止に変更。
・「図書の新規登録」シートで楽天WEBも選択できるように追加。蔵書量としては
amazonの方が多いようだ。合わせて、H列の重複判定の関数式を変更し、
図書管理表シートのみでなく、同シート上での重複をチェック。
・保守管理フォームopen時のパスワードフォーム表示有無が行えるようにした。
保守管理フォームかtableシートのI62値。
[2011/1/27 Ver2.05
XL2007で修正(互換モード)]
・「Bコード印刷用」シートで、バーコード作成時XL2007でバーコード画像
の高さがxl2003時の半分ほど短くなるので、3を乗ずる条件を追加。
=標準モジュール:Createbarcode:Public Function PrintBar〜内の
Change_Height = m_Height / Change_Height * 3
Application.Versionで、エクセルのバージョンを取得している。
XL2007は12.
Ver2.04 Excel図書管理2.04
・「×」で当ブックを閉じる場合に、変更点があれば上書き保存するようにしました。
・Userform4図書検索フォームの検索終了ボタン定義に条件を追加しました。
・Userform3貸出フォームの全項目クリアで、メッセージ表示をなくしました。
Ver2.03 Excel図書管理2.03
「図書の新規登録」シートのセルH10〜H16までの計算式が間違っていましたので、修正しました。
H10セルに下記の式を代入し、下方に16行までコピーしてください。
=IF(B10<>"",IF(COUNTIF(図書管理表!$A$5:$A$65536,A10)>0,"NG","OK"),"")
Ver2.02 Excel図書管理2.02
(1) バーコードモードで返却処理すると、図書管理表シートの関数が変わらないバグを修正しました。
(2)tableシートAD4にある「menuシートのタイトル変更」ボタンマクロを廃止し、セルリンクで、menuシートの
タイトル変更を行うようにしました。そのため、menuシートでの画像の変更が自由にできます。
(3)aws署名付きアクセスできるように対応しました。すでに、HPでは構文を公開してありましたが、それを
取り入れました。
(4)その他細かなバグ修正
・貸出・返却フォーム上の動き微調整
・主要なセルについて関数や書式を再設定する処理を選択できるようにした。
行は65535のままです。
図形関係
<top>
●複数枚の画像を選択・貼り付けします。(2列に) Download 2013/10/15
画像ファイル名の昇順貼り付けを可能に →
Download 2014/3/29
●図形の操作:図形を選択して、回転とか移動させたりする。
→ Download 2013/8/27
<top>
●右クリックで画像の貼付を行う。 Download <top>
●画像付き報告書 サンプルブック 〜 画像貼り付けが簡単にできる報告書のサンプルブックです。A4サイズ 画像4枚貼り付け。
Download
<top>
● 写真や画像を選択して、シート上に貼り付けるマクロ 〜 アクティブセルの大きさに縮小します。セル結合の領域の大きさに合わせます。同時に、写真や画像にハイパーリンクを設定します。処理前に貼り付けるセルをアクティブにしておきます。 データベースとして写真や画像を扱う場合は、url情報のみをシート上に代入する方法が良いのではと思い、写真や画像は貼り付けないで、urlのみを代入するマクロも掲載。
http://engi.cocolog-nifty.com/sirenai/2010/03/post-5d17.html
<top>
● 任意の画像を選択して、アクティブセルの大きさで貼り付ける。
Download 実行例: 右記の画像
<top>
● Excelで画像検索表示
ExcelでスライドショーVer1.2New Excel画像検索表示 説明ページ
画像のファイル名を検索して、画像表示させます。
この類の画像表示については、いろいろとありますが、
多機能すぎたり、ネットワークフォルダが使えないなどの 制約があり、低機能特化で作ってみました。
図面やレポートなどをJPGで保存し、その時のファイル名を
キー(図面番号や検索したい語句をいれる)にすることで、ファイル名を検索・対象画像を絞り、そこから選択して目的の画像を表示させるなどすると、便利です。普通の画像表示も当然できますが・・
Ver1.1 2008/6/14 スライドショーもどき追加。
Ver1.1a 2009/7/3 XL2007に対応した(互換モードにて)
Ver1.2 2014/2/23 xl2010 「ExcelでスライドショーVer1.2」
<top>
ファイル関係
<top>
● フォルダー名・ファイル名を変更する Download (xl2007〜)
●フォルダー名変更マクロ 〜 ドライブもしくはフォルダーを指定して、フォルダー一覧をExcelシート上に表示し、隣のセルに新しいフォルダー名を入力すると自動的にフォルダー名を変更する。
http://engi.cocolog-nifty.com/sirenai/2010/03/vba-66be.html
● フォルダー名のみを変更する。 Download
<top>
その他VBA
●EXCEL予約システム:会議室版 2015/6/12
予約システム(会議室予約)について考えてみる。(1)
予約システム(会議室予約)について考えてみる。(2)
予約システム(会議室予約)について考えてみる。(3)
予約システム(会議室予約)について考えてみる。(4)
● ISBN番号で図書情報を取得する4つの方法を1つのブックで。
Amazon、楽天、book.or.jp、国立国会図書館 それぞれから、
ISBN番号をキーとして、図書情報をエクセルシート上に代入します。
(2014/4/13) DownLoad
説明
● エクセル(2010)でバーコードを作成する Download 20140504
説明はDownloadのブック内の説明シートを参照して下さい。(Createbarcode)
● エクセル(2010)でバーコードを作成する その2 (PSYTEC) DL
● 年賀状宛名印刷VBA.xlsm (まだ未完成ですが、とりあえず掲載。動作保証なし、VBAフリー)
年賀状宛名印刷VBA.xlsm 2014/8/30
●Excelシンプル宛名印刷(宛名は1シートのみ+裏面印刷もどき付き)
1枚だけ宛名を印刷するには便利かも。
裏面印刷は縦ハガキ、横ハガキ用あり。(update 2014/8/30) Excel_Simple_atena_print.xlsm
<top>
● なんでもBook管理
シートを入力票にして、別途リスト形式のシートを管理表にするのは、簡単入力ブックで作ってみましたが、その場合入力票であるシートでは画像・グラフなどを挿入した場合は1ブックでの運用となるので、どんどん肥大化してしまいます。そこで、入力をシート単位ではなくて、ブック単位で行い、それらのブックを管理するブックとの関係付けを行ってみようというのが「なんでもBook管理」です。
そのイメージサンプルとして、相談シート&相談ブック管理表の2つのブックを作ってみました。
なんでもブック管理 例 download 説明画像
<top>
● 組み込み用カレンダーフォーム
Download (xl2007互換モード)
説明シートを御覧ください。
<top>
● オープニング用のブック
ブックが開く前に、エクセルやワードのようにオープニングを表示させるためのブックです。
最初は、フォームのみ表示し、その後エクセル・表示します。
Download(xl2010で作成) <20131013>
<top>
● Enterキーでフィルター実行
Download(xl2007互換モード) 〜 Enterキーでマクロを実行させる例。
<top>
■ やってみよう!Excelで問題 Excelで問題 説明ページ
Excelで五択問題や英単語問題などの問題をやってみたくて、作りました。
エクセルの問題集ではありません。でも、問題を用意すれば、可能です。
問題形式は、問題をJPG画像で作成(問題と解答と別々に)するのと、シート上に問題をテキスト入力するのと、2つのタイプを用意しています。
エクセルVBAなので、フォームの変更も可能です。
<top>
■ Excel宛名シール印刷(ヨコ3面タテ7面=21面タックシール用のみ)
単機能な宛名シール印刷用のエクセル・ブック(マクロ付き)です。dataシートに氏名・郵便番号・住所の3種類の
データは入力・貼り付けし、あとはボタンをクリックするだけ。
マクロはパスワードなしで、改変自由。組み込みも可能かと。 Download
<top>
■ モーターレク・ゼッケン別カウンター (大会運営支援))
*モーターレクを楽しむのに、やはり順位を競いたいものです。でも、草レースなど用の計測システムはなかなかありません(でした?!) そこで、数十年前にBASICで作成し、入力の達人と運営の達人のもと、多少のお役立ちができたと思います。
しかし、Windowsの時代となり、以前のBASICが動く(特殊なBasicの為)環境もなくなり、やむなく、そのロジックをエクセルに移し替えてみました。Excel97でのみ動作確認しています。 Excel2000でも動作したとの報告があります。
モーターレク・ゼッケン・カウンタ mrec14.lzh [評価版14]
以下、3項目の機能追加を行いました。
(1)短冊印刷(競技前)の追加。
(2)短冊印刷(競技後)の追加。
(3)ポイント計算・出力。
(1)MREC2.XLSの「短冊2」シートを印刷します。(プレビュー表示)
単に、シートの印刷なので、自由に変更することが可能です。
(2)競技後の短冊印刷として、MREC2.XLS:管理表:A14セル値(ヒート1〜3)で対象ヒートを判断し、各ヒートに対応して、 MREC1.XLS:RESULT1〜3の各シートを処理対象とします。例:上記A14セル値が「ヒート1」である場合、MREC1.XLSの RESULT1シートを処理対象とします。
*A14セル値は、全ての文字が全角です。
(3)上記(2)と同様に、対象シートを確定したあと、Topの周回数に対する完走とみなす割合(%)の周回数以上を完走とし、再度順位を計算し、その後ポイント計算を行います。
*Topの周回数に対する完走とみなす割合(%)は、「計測項目設定」ボタンから入って設定します。この処理を行わない場合は、0(ゼロ)を入力します。
*この値(%)は、MREC2.XLS:管理表:K18セルで管理されます。
上記すべては、MREC2.XLS:WORKシートに出力されます。保存はされないので、必要な場合は別途手操作で別名保存・他ブックにシート貼り付け等行って下さい。
mrec.lzh [評価版13]
*50位まで順位表示するようにしました。(非推奨(;´_`;)
*短冊表示ができるようになりました。
*印刷処理を修正。
*参加者登録用ブックを用意しました。 [評価版13]
<top>
■ ガントチャート gantt_chart.lzh
*エクセルでガントチャートが簡単に表示できます。スケジュールをビジュアルに表示します。【特徴】計画・実績を色分けして表示。 内部処理でカレンダー作成を行いますから、いつの年でもOK。開始日と終了日を入力(yyyy/mm/dd形式)してボタンを押すだけでチャート表示。ただ、1日=1セルで作っていますので、1年間のスケジュール表示はできません。年跨ぎの表示は可能です。 サンプル画面
<top>
■ 住所分割 住所分割.lzh <--juusyo_bunkatu02.lzh (新)
※いや〜、地名って、いろいろあるんですね。
*千葉県八日市場市、三重県四日市市、広島県廿日市市市場町、栃木県今市市、千葉県八日市市栄町に対応。
住所分割.lzh <--juusyo_bunkatu01.lzh (旧)
*千葉県市原市田町 東京都新宿区市谷八幡町でも、正しく分割するよう修正。 *1フィールドの住所データを3フィールド(セル)に分割します。 説明
<top>
■ 簡単に開く easy_act.lzh Ver1.1
*オープンしている全ブックの全シート名をコマンドバー上のコンボボックスからアクティブにできるvbaです。複数ブックをオープンして作業している場合、目的のシートを開くのが面倒ですが、これを使えば簡単に目的のシートを開く事ができます。
<top>
■簡単入力ブック(マクロ)
単票書式シートとリスト(表)形式シートをマクロでリンクさせようとしたものです。
新規入力や修正などは単票シートで行い、リスト形式シートはフィルターや集計のみを行えたらと思い作成したものです。
*簡単入力ブック2 指定番号でのDATAシートの行データ表示。ボタンで次行データ・前行データを表示するようにした。(2011/1/30) [簡単入力ブック2の説明]
input.lzh
*エクセルの機能であるデータ〜フォームは一見便利ですが、項目数が多くなると、ウインドウにすべての項目が収まらないとか、自分なりのカスタマイズが効かないなど不便を感じる人にはお役に立つかと思います.入力シートに入力すると、dataシートに行列を入れ替えて貼り付けられます.入力シートで、修正ボタンを押して、dataシートでダブルクリックすると、入力シートに該当行が行列入れ替えられて貼りつきます.修正後、登録ボタンをクリックすると、元の行に貼りつきます.
<top>
■カレンダー表示マクロ karenda.lzh
*ふるいBasicの参考書を引っ張り出して,その中にあったカレンダー作成の文をVBAに置き換えてみました。シート上に結果を書き出す処理のみ変更すれば、まだまだ古い(10数年前の)Basic文が動きますね。やはりVBAはBASICでした。(^^;;
*2003/1:2月末日処理を修正しました。
<top>
■エクセル上から、電話をかける。(1) denwa.lzh
*エクセルから他のアプリケーションを起動します。c:\windows\dialer.exeを利用しています。windowsには標準にあると思います.
<top>-
■エクセル上から、電話をかける。(2)(シート上の電話帳を利用します。)
denwa2.lzh cdb.lzh(ねじ式さんのクリップボード電話が必要です。)
*(1)では、dialer.exe内部で電話番号を管理しますが、(2)では、シート上の電話番号を利用して電話をかけます。電話番号をコピーしてクリップボードに格納し、それを利用して、電話をかけます。電話をかけるには、クリップボード電話が必要です。
※リストボックス例もあります。
<top>
■JPGやBMPなどの画像ファイルをエクセルシート上に貼り付ける。 gazou.lzh
*エクセルシート上に画像ファイルを貼り付けます。(挿入〜図〜ファイルから)
貼付けのサイズ(縮小・拡大)指定や何列にきちんと貼り付けるかの指定ができます。3種類があります。だんだんと機能を追加していったので、それぞれの段階のマクロ・フォームを残しています。
<top>
■重複データを省くサンプルマクロです。
*2種類を紹介しています。セル毎に順番に調べる方法とピボットテーブルを使用する方法です。 juuhuku.lzh (重複省く.xls)
<top>
■商品等などの「もの」を管理するマクロです。
*仕入・出荷・在庫の処理が行えます。エクセルでデータ-ベース的な業務を行う場合のモデルとして作成してみました。説明 butu_kannri.lzh (202KB)
<top>
■条件に合った行を削除する例
*条件に合った行を削除する例です。 del_row.lzh
<top>
■ドライブ・ディレクトリを指定して、ファイルを開く
*マクロ中で、ユーザーにファイルを指定させる場合などの処理に参考になると思います。 dir.lzh ※ドライブの指定ができます。(^^)
<top>
■エクセルデータを、フォームを使ってデータの修正や追加を行う例です。
*例として、住所管理データを扱っています。5項目までのデータ管理であれば、項目名は自由に決められます。汎用性があるので、このまま使用できます。
こんな画面です。 form_seigyo.lzh
<top>