<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>日々徒然模糊綴</title>
    <description>絵とかゲームとか漫画とか小説とか人生哲学とかの雑記帖。</description>
    <link>https://co2.blog.shinobi.jp/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>【Java/Struts】エラー→ログアウト。エラーを判定したActionでログアウト後用のメッセージを付けたい。</title>
      <description>お久しぶりのブログ更新です。Javaにスキルチェンジなう。今回はその勉強中の覚書です。&lt;br /&gt;
&lt;br /&gt;
***&lt;br /&gt;
&lt;br /&gt;
前提として、このActionは、session.invalidate()するのが主な目的です。&lt;br /&gt;
リダイレクトは、リクエストを引き継がないし、session.invalidate()しちゃったら、引き継ぐためのメモリがなくなっちまうし、どうしようってなもんです。&lt;br /&gt;
&lt;br /&gt;
ログアウトすべきエラーを各Actionでキャッチしたら、LogoutActionのインスタンスを紐づけたログアウト用のアクションに、リダイレクトするようにしています。&lt;br /&gt;
&lt;br /&gt;
リダイレクト手前で、ログアウト後のページに表示したいエラーをsaveErrors(session, errors)してます。&lt;br /&gt;
&lt;br /&gt;
そうすると、session.getAttribute(&quot;org.apache.struts.action.ERROR&quot;)で、そのエラーが取り出せるって寸法です。getAttributeNames属性で、それっぽいのを使っただけです。&lt;br /&gt;
&lt;br /&gt;
LogoutAction.java（パッケージ名は適当）&lt;blockquote&gt;&lt;br /&gt;
import jp.suppa.co2;&lt;br /&gt;
&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import org.apache.struts.action.*;&lt;br /&gt;
&lt;br /&gt;
public class LogoutAction extends Action {&lt;br /&gt;
// メッセージID（「ログアウトしました」）&lt;br /&gt;
private static final String MESSAGE_ID = &quot;message.XXX&quot;;&lt;br /&gt;
&lt;br /&gt;
@Override&lt;br /&gt;
public ActionForward execute(ActionMapping mapping,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ActionForm form,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;HttpServletRequest request,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;HttpServletResponse response)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;throws Exception {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; /*&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;* 別ページでセッションに保存されたメッセージを取り出し、&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;* リクエストに保存しなおす。&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;*/&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;HttpSession session = request.getSession();&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;ActionErrors errors = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;　　　 &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;(ActionErrors)session.getAttribute(&quot;org.apache.struts.action.ERROR&quot;); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 　 &amp;nbsp; &amp;nbsp; &amp;nbsp; saveErrors(request, errors);&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; /*&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;* セッション情報を畳む。&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;*/&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;if (session != null) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;session.invalidate();&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;/*&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;* 「ログアウトしました」の文言を付ける&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;*/&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;ActionMessages massages = new ActionMessages();&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;massages.add(&quot;massages.logout&quot;, new ActionMessage(MESSAGE_ID));&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;saveMessages(request, massages);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;// ログアウトページへ&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;return new ActionForward(mapping.getForward());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;/blockquote&gt;</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90java-struts%E3%80%91%E3%82%A8%E3%83%A9%E3%83%BC%E2%86%92%E3%83%AD%E3%82%B0%E3%82%A2%E3%82%A6%E3%83%88%E3%80%82%E3%82%A8%E3%83%A9%E3%83%BC</link> 
    </item>
    <item>
      <title>【ExcelVBA】EverNoteのテキストだけノートをテキストファイルにする。</title>
      <description>3月ごろから、テキスト作成環境が、携帯からポメラに移行した。&lt;br /&gt;
エバーノートに入っているテキストをポメラに移動させたくなった。&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://file.co2.blog.shinobi.jp/WS6_000079.JPG&quot; alt=&quot;&quot; /&gt; &lt;br /&gt;
vba上で、ACSⅱで保存できないものかと思ったのだが、StrConv掛けてももともとSfit-JISだぜとばかりに文字化けするのに、テキストストリームで書きだそうとすると、Unicodeを指定しないとエラーを吐く始末。&lt;br /&gt;
&lt;br /&gt;
仕方ないので最後の仕上げは手作業になってしまったところが無念である。&lt;br /&gt;
&lt;br /&gt;
&amp;darr;は空白が飛んでるので、スタイル指定の部分の除去で、StrPtnにセットしている部分は該当行の内容を 貼りなおしてください。&lt;br /&gt;
----------------------------&lt;br /&gt;
' エバーノートからエクスポートしたフォルダを&lt;br /&gt;
' CELL_TARGET_DIR&lt;br /&gt;
' に書き込んでから実行&lt;br /&gt;
' Write By m_o_co&lt;br /&gt;
'要）Microsoft ActiveX Data Objects&lt;br /&gt;
Public Sub Go_HtmlToTextCov()&lt;br /&gt;
&lt;br /&gt;
'========================&lt;br /&gt;
' 宣　　言&lt;br /&gt;
'========================&lt;br /&gt;
' 定数&lt;br /&gt;
Const strTgExe As String = &quot;.html&quot;&lt;br /&gt;
Const cnvExe As String = &quot;.txt&quot;&lt;br /&gt;
&lt;br /&gt;
' 変数&lt;br /&gt;
Dim strTgDir As String ' ディレクトリ&lt;br /&gt;
Dim strBufDir As String&lt;br /&gt;
Dim FSO As Object&lt;br /&gt;
Dim FLS As Object ' FileSystemObject.Folder.Files&lt;br /&gt;
Dim bufFIL As Object&lt;br /&gt;
&lt;br /&gt;
Dim aTS As Object ' UTF8読み込み用インスタンス&lt;br /&gt;
&lt;br /&gt;
Dim TS As Object ' TextStream&lt;br /&gt;
Dim RE As Object ' RegExp&lt;br /&gt;
Dim strBuf As String ' テキスト加工用&lt;br /&gt;
Dim strPtn As String ' 検索文字列&lt;br /&gt;
&lt;br /&gt;
' 対象ディレクトリ&lt;br /&gt;
strTgDir = Range(&quot;CELL_TARGET_DIR&quot;).Value&lt;br /&gt;
&lt;br /&gt;
' 正規表現準備&lt;br /&gt;
'□ 除去 &amp;lt;.*&amp;gt;&lt;br /&gt;
strPtn = &quot;&amp;lt;.*&amp;gt;&quot; ' 今回、正規表現は1個なので、先にセットしちゃう&lt;br /&gt;
Set RE = CreateObject(&quot;VBscript.RegExp&quot;)&lt;br /&gt;
With RE&lt;br /&gt;
.Pattern = strPtn ' 正規表現パターンのセット&lt;br /&gt;
.IgnoreCase = True '大/小文字無区別&lt;br /&gt;
.Global = True '全体検索&lt;br /&gt;
End With&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' FSO準備&lt;br /&gt;
Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)&lt;br /&gt;
Set FLS = FSO.GetFolder(strTgDir).Files&lt;br /&gt;
Set aTS = CreateObject(&quot;ADODB.Stream&quot;)&lt;br /&gt;
&lt;br /&gt;
' ストリームオプション&lt;br /&gt;
With aTS&lt;br /&gt;
.Type = adTypeText ' テキスト形式&lt;br /&gt;
.Charset = &quot;UTF-8&quot; ' キャラセットを指定&lt;br /&gt;
.Open ' インスタンス&lt;br /&gt;
End With&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'========================&lt;br /&gt;
' 開　　始&lt;br /&gt;
'========================&lt;br /&gt;
For Each bufFIL In FLS&lt;br /&gt;
&lt;br /&gt;
If bufFIL.Type = &quot;Chrome HTML Document&quot; Then&lt;br /&gt;
&lt;br /&gt;
' 対象テキストをゲット&lt;br /&gt;
aTS.LoadFromFile bufFIL.Path&lt;br /&gt;
strBuf = aTS.ReadText(adReadAll)&lt;br /&gt;
&lt;br /&gt;
'■ 置換（改行） &amp;lt;/div&amp;gt; &amp;rarr; vbcrlf&lt;br /&gt;
strPtn = &quot;&amp;lt;/div&amp;gt;&quot;&lt;br /&gt;
strBuf = Replace(strBuf, strPtn, vbCrLf)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'■ 除去 &amp;lt;.*&amp;gt;&lt;br /&gt;
' strPtn = &quot;&amp;lt;.*&amp;gt;&quot; ' セット済み&lt;br /&gt;
With RE&lt;br /&gt;
' .Pattern = strPtn ' 正規表現パターンのセット&lt;br /&gt;
strBuf = .Replace(strBuf, &quot;&quot;) ' 置換&lt;br /&gt;
End With&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'■ 除去&lt;br /&gt;
' body, td {&lt;br /&gt;
' font-family: メイリオ;&lt;br /&gt;
' font-size: 10pt;&lt;br /&gt;
' }&lt;br /&gt;
strPtn = &quot; body, td {&quot; &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
&quot; font-family: メイリオ;&quot; &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
&quot; font-size: 10pt;&quot; &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
&quot; }&quot;&lt;br /&gt;
&lt;br /&gt;
strBuf = Replace(strBuf, strPtn, &quot;&quot;)&lt;br /&gt;
&lt;br /&gt;
' 書き込み&lt;br /&gt;
Set TS = FSO.OpenTextFile(Replace(bufFIL.Path, strTgExe, cnvExe), 2, True, -1) ' 書き込み/新規作成する/Unicode&lt;br /&gt;
With TS&lt;br /&gt;
.Write strBuf&lt;br /&gt;
.Close&lt;br /&gt;
End With&lt;br /&gt;
&lt;br /&gt;
Set TS = Nothing&lt;br /&gt;
&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
aTS.Close: Set aTS = Nothing&lt;br /&gt;
Set bufFIL = Nothing&lt;br /&gt;
Set FLS = Nothing&lt;br /&gt;
Set RE = Nothing&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
----------------------------</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90excelvba%E3%80%91evernote%E3%81%AE%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%81%A0%E3%81%91%E3%83%8E</link> 
    </item>
    <item>
      <title>【Access/VBA】データベース上の全てのテーブルの特定のフィールドの特定の値を置換</title>
      <description>自分用。&lt;br /&gt;
こんなモジュールに頼らないで済む設計が出来るようになってる筈だけども。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90access-vba%E3%80%91%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E4%B8%8A%E3%81%AE%E5%85%A8%E3%81%A6%E3%81%AE%E3%83%86%E3%83%BC%E3%83%96&quot; target=&quot;_blank&quot;&gt;　&lt;/a&gt;</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90access-vba%E3%80%91%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E4%B8%8A%E3%81%AE%E5%85%A8%E3%81%A6%E3%81%AE%E3%83%86%E3%83%BC%E3%83%96</link> 
    </item>
    <item>
      <title>【Access/VBA】データベース定義書の素材テーブルを更新する</title>
      <description>自分用。&lt;br /&gt;
大した内容じゃないからまた作れるんだけど、そんなの面倒くさいじゃないのさ&amp;hellip;。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90access-vba%E3%80%91%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E5%AE%9A%E7%BE%A9%E6%9B%B8%E3%81%AE%E7%B4%A0%E6%9D%90%E3%83%86%E3%83%BC&quot; target=&quot;_blank&quot;&gt;　&lt;/a&gt;</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90access-vba%E3%80%91%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E5%AE%9A%E7%BE%A9%E6%9B%B8%E3%81%AE%E7%B4%A0%E6%9D%90%E3%83%86%E3%83%BC</link> 
    </item>
    <item>
      <title>【AccessVBA】ヘボンローマ字変換用パーツ</title>
      <description>これまた自分用。確か、2003で開発。&lt;br /&gt;
クラスのなりしてますが、セッターとか諸々不完全で、お見せするのが恥ずかしいんですが。&lt;br /&gt;
後ろの方にある、ヘボン式変換のアルゴリズムを作り直すのが激しく面倒なんです&amp;hellip;。&lt;br /&gt;
&lt;br /&gt;
VERSION 1.0 CLASS&lt;br /&gt;
BEGIN&lt;br /&gt;
MultiUse = -1 'True&lt;br /&gt;
END&lt;br /&gt;
Attribute VB_Name = &quot;c_Chg_Hebon&quot;&lt;br /&gt;
Attribute VB_GlobalNameSpace = False&lt;br /&gt;
Attribute VB_Creatable = False&lt;br /&gt;
Attribute VB_PredeclaredId = False&lt;br /&gt;
Attribute VB_Exposed = False&lt;br /&gt;
Option Compare Database&lt;br /&gt;
Option Explicit&lt;br /&gt;
'=======================================================&lt;br /&gt;
'&lt;br /&gt;
'　　　　　　 *** c_Chg_Hebon　　***　by m_o_co&lt;br /&gt;
'&lt;br /&gt;
'=======================================================&lt;br /&gt;
' 渡されたテキストをヘボン式に変換するGet_Hebon_Romaと&lt;br /&gt;
' そのヘボン式変換用ライブラリ配列のクラス&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90accessvba%E3%80%91%E3%83%98%E3%83%9C%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%9E%E5%AD%97%E5%A4%89%E6%8F%9B%E7%94%A8%E3%83%91%E3%83%BC%E3%83%84&quot; target=&quot;_blank&quot;&gt;つづき→&lt;/a&gt;</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90accessvba%E3%80%91%E3%83%98%E3%83%9C%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%9E%E5%AD%97%E5%A4%89%E6%8F%9B%E7%94%A8%E3%83%91%E3%83%BC%E3%83%84</link> 
    </item>
    <item>
      <title>【ExcelVBA】ER図のパーツを作る</title>
      <description>自分用。作成は、Office2010。&lt;br /&gt;
&lt;br /&gt;
コピーするシート上にある元のシェイプグループはこんなん&amp;darr;&lt;br /&gt;
テーブル名と、フィールド名と、それを括るものの3つで構成。&lt;br /&gt;
&lt;img src=&quot;http://file.co2.blog.shinobi.jp/WS000138.JPG&quot; alt=&quot;&quot; /&gt; &lt;br /&gt;
&lt;br /&gt;
ターゲットシート（Worksheets(&quot;TgtDB&quot;)）には、ER図を作りたいテーブルの俗称とフルパスが複数入っていて、そのデータベースの中に、DBのテーブル情報をまとめたテーブル（&quot;C1&quot;）が個々に入っている、という設計です。&lt;br /&gt;
&lt;br /&gt;
複製したシートの、2行目から、10個ずつ折り返しつつ、ずらずらとテーブルごとにシェイプグループを作ります。雛形が一行目に残りっぱなしですけど、それは後で手で削除します。&lt;br /&gt;
&lt;br /&gt;
グループはなんか、オブジェクトじゃなくて状態？なのかなんなのか知らないんですけども（の、割にはObjectに入ったけど&amp;hellip;）グループを入れたObjectと、グルーピングしたいシェイプのObjectをつかんでるだけでは、両方を選択することができないらしく&amp;hellip;。&lt;br /&gt;
&lt;br /&gt;
結局、個別にユニーク名を付けて、名前で選択&amp;rarr;グルーピング、しか、今回手段が見つけられなかった感じです。&lt;br /&gt;
'--------------------------------------------------------------------------&lt;br /&gt;
' 　　　Write by m_o_co&lt;br /&gt;
'--------------------------------------------------------------------------&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
Private Const GRP_NM As String = &quot;Gr_TBL&quot;&lt;br /&gt;
Private Const TBL_TTL As String = &quot;R_TBL_Title&quot;&lt;br /&gt;
Private Const TBL_FLM As String = &quot;R_TBL_FRAM&quot;&lt;br /&gt;
Private Const FLD_NM As String = &quot;R_FLD_NM&quot;&lt;br /&gt;
&lt;br /&gt;
Private DB As DAO.database&lt;br /&gt;
Private RS As DAO.Recordset&lt;br /&gt;
&lt;br /&gt;
Private WB As Workbook&lt;br /&gt;
Private tmpShp As Object&lt;br /&gt;
Private wkSht As Worksheet&lt;br /&gt;
&lt;br /&gt;
Private wkTblNm As String&lt;br /&gt;
&lt;br /&gt;
Private cRow As Long&lt;br /&gt;
Private cClm As Integer&lt;br /&gt;
&lt;br /&gt;
'--------------------------------------------------------------------------&lt;br /&gt;
Public Sub crtErPeace()&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90excelvba%E3%80%91er%E5%9B%B3%E3%81%AE%E3%83%91%E3%83%BC%E3%83%84%E3%82%92%E4%BD%9C%E3%82%8B&quot; target=&quot;_blank&quot;&gt;続き→&lt;/a&gt;</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90excelvba%E3%80%91er%E5%9B%B3%E3%81%AE%E3%83%91%E3%83%BC%E3%83%84%E3%82%92%E4%BD%9C%E3%82%8B</link> 
    </item>
    <item>
      <title>【VBA/Access2010】ProcOfLineプロパティで永ルプった話。</title>
      <description>やられちまったぜTANAKAさん&amp;hellip;！&lt;br /&gt;
&lt;br /&gt;
CodeModuleのプロパティ&lt;br /&gt;
&lt;a href=&quot;http://officetanaka.net/excel/vba/vbe/05.htm&quot; title=&quot;&quot;&gt;http://officetanaka.net/excel/vba/vbe/05.htm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
～あらすじ～&lt;br /&gt;
&lt;br /&gt;
環境毎にフロントファイルを分けたり検証したりしているうちに、ソースのバージョン管理がメタメタになったm_o_coは、各プロシージャの行数を収集するため、VBEオブジェクトという未知の領域に踏み込んだ。そこで永久ループに、はまったのであった。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90vba-access2010%E3%80%91procofline&quot; target=&quot;_blank&quot;&gt;　&lt;/a&gt;</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90vba-access2010%E3%80%91procofline</link> 
    </item>
    <item>
      <title>【Access/VBA】サブフォーム内の任意のレコードに移動する。</title>
      <description>びゃああああ！！！解決してないぞこのスレッド！！&lt;br /&gt;
&lt;a href=&quot;http://www.accessclub.jp/bbs5/0004/vba797.html&quot; title=&quot;サブフォームのカレントレコード移動について&quot; target=&quot;_blank&quot;&gt;http://www.accessclub.jp/bbs5/0004/vba797.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
うおおお、あきらめてなるものかー！ぐぐるぐぐる&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.nurs.or.jp/~ppoy/access/access/acF001.html&quot; title=&quot;サブフォームの新規レコードに移動する方法　（Ac97,Ac2000,Ac2002）&quot; target=&quot;_blank&quot;&gt;http://www.nurs.or.jp/~ppoy/access/access/acF001.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
pPoyさんありがとうpPoyさん！！！&lt;br /&gt;
（pPoyさんのコードや凡例はいつも超実用的で大変お世話になっております！）&lt;br /&gt;
&lt;br /&gt;
やりたかったのは、特定のレコード削除後に、その削除レコードの場所から画面を大きく移動させない事。&lt;br /&gt;
&lt;br /&gt;
Execute &quot;Delete From～&quot;する&lt;br /&gt;
　　　①Me.Refreshする　　&amp;rarr;　カーソルは保持できるが、#Deleteの枠が残る&lt;br /&gt;
　　　②Me.Requeryする　&amp;rarr;　リクエリーなんで、当然カーソルが先頭に戻る。&lt;br /&gt;
&lt;br /&gt;
ひぎゃあああ！ヾ(:3ﾉｼ )ﾉｼ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
サブフォームのステートメントからコールしたかったので、&amp;darr;になりました。&lt;br /&gt;
Delete前に、SaveBMして、リクエリー後、MoveBMします。&lt;br /&gt;
'------------------------------------------------&lt;br /&gt;
Private BM As Variant&lt;br /&gt;
&lt;br /&gt;
Private Sub SaveBM()&lt;br /&gt;
'=========================&lt;br /&gt;
'　　　移動先の保持 by m_o_co&lt;br /&gt;
'=========================&lt;br /&gt;
&lt;br /&gt;
On Error GoTo Err_Me&lt;br /&gt;
&lt;br /&gt;
Forms(Parent.Name).[サブフォーム名].SetFocus&lt;br /&gt;
DoCmd.GoToRecord , , acPrevious&lt;br /&gt;
BM = Me.Bookmark&lt;br /&gt;
DoCmd.GoToRecord , , acNext　　　&amp;rsquo; 後の処理で、カレントレコード前提で組んでるのが一杯あるので戻す。&lt;br /&gt;
&lt;br /&gt;
No_Err:&lt;br /&gt;
&lt;br /&gt;
Exit Sub&lt;br /&gt;
Err_Me:&lt;br /&gt;
&lt;br /&gt;
Select Case Err.Number&lt;br /&gt;
Case 2105&lt;br /&gt;
' 先頭レコードだとエラーになるので。&lt;br /&gt;
BM = Null&lt;br /&gt;
Resume No_Err&lt;br /&gt;
End Select&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Private Sub MoveBM()&lt;br /&gt;
'=========================&lt;br /&gt;
'　　カーソル移動 by m_o_co&lt;br /&gt;
'=========================&lt;br /&gt;
&lt;br /&gt;
If Not IsNull(BM) Then&lt;br /&gt;
Forms(Parent.Name).[サブフォーム名].SetFocus&lt;br /&gt;
Me.Bookmark = BM&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
BM = Null&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
'------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
まじ、ブックマーク呪わしい。ほんと&amp;hellip;！</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90access-vba%E3%80%91%E3%82%B5%E3%83%96%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E5%86%85%E3%81%AE%E4%BB%BB%E6%84%8F%E3%81%AE%E3%83%AC%E3%82%B3%E3%83%BC</link> 
    </item>
    <item>
      <title>【cfV】オバロ軸について考えてみた。</title>
      <description>私は元々からして、1stデッキがアモン、2ndデッキがオーバーロードです。&lt;br /&gt;
&lt;br /&gt;
　オーバーロードについては、ファン心理によって作ったデッキ（2013年7月時点で、ジエンド軸）なので、自分と相性が良いかというと首を捻りつつ遊んでいた要素があったりなんだり。その後、ヌーベルバーグを組み込んで、ヌーベルと愉快な仲間たちデッキを経て、2014年2月の無限転生で、再びオーバーロード軸になりました。&lt;br /&gt;
&lt;br /&gt;
　今回はその、オーバーロード[ブレイク（※以下オバロさん）&amp;amp;Яe-Birth（※以下オバロリさん）]軸のお話。&lt;br /&gt;
&lt;br /&gt;
　そう、私は半年以上かげろう使いとして首を捻り続けていた訳なのですが。&lt;br /&gt;
　オバロリさんは、付加価値的に持ち得る、かげろうに似合わぬ展開力と、ボッチorハーレムのスイッチ選択の見極めがなかなかクールで、今ではキャラ愛ユニット愛に加え、プレイングでもなかなかフェイバリットです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://co2.blog.shinobi.jp/%E3%81%95%E3%81%B6%E3%81%8B%E3%82%8B/%E3%80%90cfv%E3%80%91%E3%82%AA%E3%83%90%E3%83%AD%E8%BB%B8%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%80%83%E3%81%88%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82&quot; target=&quot;_blank&quot;&gt;【現在のデッキレシピ】&lt;/a&gt;</description> 
      <link>https://co2.blog.shinobi.jp/%E3%81%95%E3%81%B6%E3%81%8B%E3%82%8B/%E3%80%90cfv%E3%80%91%E3%82%AA%E3%83%90%E3%83%AD%E8%BB%B8%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%80%83%E3%81%88%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82</link> 
    </item>
    <item>
      <title>【Access/VBA】備忘録）祝日マスターとそれを使ったカレンダーデータ作成</title>
      <description>割と手が込んでて、汎用性がそれなりにあり、ソース無くなってまた組む羽目になったら面倒なので。&lt;br /&gt;
&lt;br /&gt;
【参考】&lt;br /&gt;
【Excel Tips】成人の日や体育の日などのハッピーマンデーの日付を求めるには？&lt;br /&gt;
&lt;a href=&quot;http://enterprisezine.jp/iti/detail/854&quot; title=&quot;&quot;&gt;http://enterprisezine.jp/iti/detail/854&lt;/a&gt;&lt;br /&gt;
【Excel Tips】春分の日や秋分の日を求めるには？&lt;br /&gt;
&lt;a href=&quot;http://enterprisezine.jp/iti/detail/865&quot; title=&quot;&quot;&gt;http://enterprisezine.jp/iti/detail/865&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
祝日マスター&lt;br /&gt;
-------------------------------------------&lt;br /&gt;
&lt;table&gt;&lt;tbody style=&quot;border: 1px; border-style: solid;&quot;&gt;&lt;tr&gt;&lt;td&gt;管理No&lt;/td&gt;&lt;td&gt;名称&lt;/td&gt;&lt;td&gt;祝日区分&lt;/td&gt;&lt;td&gt;月&lt;/td&gt;&lt;td&gt;日&lt;/td&gt;&lt;td&gt;週&lt;/td&gt;&lt;td&gt;式&lt;/td&gt;&lt;td&gt;振替基準日&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;元旦&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;成人の日&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;建国記念の日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;春分の日&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;INT(20.8431+0.242194*(★年-1980))-INT((★年-1980)/4)&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;昭和の日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;29&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;憲法記念日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;みどりの日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;こどもの日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;海の日&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;敬老の日&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;秋分の日&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;INT(23.2488+0.242194*(★年-1980))-INT((★年-1980)/4)&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;体育の日&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;文化の日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;勤労感謝の日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;23&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;天皇誕生日&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;23&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;　&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;-------------------------------------------&lt;br /&gt;
&lt;br /&gt;
祝日計算の心臓部&amp;darr;&lt;br /&gt;
-------------------------------------------&lt;br /&gt;
Select Case RS(0)!祝日区分&lt;br /&gt;
Case 0&lt;br /&gt;
wkDay = RS(0)!日&lt;br /&gt;
Case 1&lt;br /&gt;
wkWeek = Weekday(DateSerial(mYear, RS(0)!月, 0), 3)&lt;br /&gt;
If wkWeek = 7 Then wkWeek = 0 ' エクセルと統一する為&lt;br /&gt;
wkDay = (7 * RS(0)!週) - wkWeek&lt;br /&gt;
Case 2&lt;br /&gt;
wkDay = Eval(Replace(RS(0)!式, &quot;★年&quot;, mYear))&lt;br /&gt;
End Select&lt;br /&gt;
-------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------&lt;br /&gt;
Public Sub Crt_Doniti(mYear As Integer)&lt;br /&gt;
'================================&lt;br /&gt;
' 土日情報&lt;br /&gt;
'================================&lt;br /&gt;
Dim DB As DAO.Database, RS As DAO.Recordset&lt;br /&gt;
Dim wkDay As Integer, m As Integer, i As Long, wkWeek As Long, wkDate As Date, WeekFlg As Integer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Set DB = OpenDatabase(DB_jinji, False, False, pDB_Jinji)&lt;br /&gt;
Set RS = DB.OpenRecordset(&quot;Select * From お休み管理用のテーブル&quot;, dbOpenDynaset)&lt;br /&gt;
&lt;br /&gt;
WeekFlg = 2 ' 最初の土曜日&lt;br /&gt;
For m = 1 To 12&lt;br /&gt;
&lt;br /&gt;
Set_SanDay:&lt;br /&gt;
wkWeek = Weekday(DateSerial(mYear, m, 0), WeekFlg)&lt;br /&gt;
&lt;br /&gt;
Select Case wkWeek&lt;br /&gt;
Case 6: wkDay = 7&lt;br /&gt;
Case 7: wkDay = 6&lt;br /&gt;
Case Else: wkDay = 6 - wkWeek&lt;br /&gt;
End Select&lt;br /&gt;
&lt;br /&gt;
For i = wkDay To Day(DateSerial(mYear, m + 1, 0)) Step 7&lt;br /&gt;
&lt;br /&gt;
wkDate = DateSerial(mYear, m, i)&lt;br /&gt;
wkWeek = Weekday(wkDate, 2)&lt;br /&gt;
&lt;br /&gt;
RS.FindFirst &quot;日付=#&quot; &amp;amp; wkDate &amp;amp; &quot;#&quot;&lt;br /&gt;
If RS.NoMatch Then&lt;br /&gt;
&lt;br /&gt;
RS.AddNew&lt;br /&gt;
' （略）&lt;br /&gt;
RS.Update&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
' 最初の日曜日&lt;br /&gt;
If WeekFlg = 2 Then&lt;br /&gt;
WeekFlg = 3&lt;br /&gt;
GoTo Set_SanDay&lt;br /&gt;
Else&lt;br /&gt;
WeekFlg = 2&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
End Sub&lt;br /&gt;
-------------------------------------------</description> 
      <link>https://co2.blog.shinobi.jp/%E3%83%87%E3%82%B8%E3%82%82%E3%81%AE%E3%81%A8%E3%81%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%81%8B/%E3%80%90access-vba%E3%80%91%E5%82%99%E5%BF%98%E9%8C%B2%EF%BC%89%E7%A5%9D%E6%97%A5%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%81%A8%E3%81%9D%E3%82%8C%E3%82%92</link> 
    </item>

  </channel>
</rss>