[[20140203075313]] 『見積書のテンプレートファイルを開くごとに見積番』(Sammy) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『見積書のテンプレートファイルを開くごとに見積番号をカウントアップしたい。』(Sammy)

初めてのお願いですがよろしくお願いします。
テンプレートを開くと初期設定番号(10桁程度)がカウントアップする。
編集後別名保存する。保存後そのファイルを開いてもカウントアップはしない。
さらに希望は、別名保存した場合はマクロを削除して都度マクロ警告が出ないようにしたい。
元のテンプレートはカウントアップ後の番号を記録し、次に開いた時には次の番号を表示する。
間違って開いて閉じてカウントアップしてしまってもとび番号として扱います。
Auto_Open というものを使うと聞いたのですが使い方がさっぱりわかりません。
マクロ記録程度しかやったことがない初心者です。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 やりたいことより、目的を伝えてもらった方がもっとよい案があるかもしれません。
 見積書ということですが、保存時に通し番号を振るやり方が一般的かと思います。

 自社で運用している方法は、「入力フォーマット」「見積一覧」「保存用ブック」の3構成にして、
 入力フォーマットでマクロを実行すると、見積一覧の行数を読んで最終Noをフォーマットにつけ、
 xlsx形式でブック毎決められたフォルダに保存させます。

 一案ですが、いかがでしょう?
(稲葉) 2014/02/03(月) 08:46

おそらく、多人数で採番しても重複しないことが要求されると思います。

ただカウントアップするだけでなく、誰が何のために採番したのか判るよう、Excelの
シートを決めるだけで良いのではないでしょうか。それをサーバに置いて、同時には
開けないようにする(デフォルト)だけです。最新番号+1なんて、セルのドラッグでも
できますよね?

同時に開けない事が問題になるならば、担当者別に採番ルール(先頭の文字を変える、等)
を決めて、ブックを担当者分作成することです。無理にマクロを使ってぐだぐだになる位なら、
単純なブックを、運用ルールでカバーするほうが確実です。
(???) 2014/02/03(月) 09:44


(稲葉)さんへ
ご回答と一案を有難うございます。
現在は多人数の中で見積りを行っていますが、御社のようなすばらしい運用方法であれ
ば解決すると思います。しかし弊社でももっと簡単ですが(???)さんが言われるよう
な簡単な運用方法を、各自が各々のPCに入れて一部の問題をかかえて活用しています。
問題とは見積番号を同じ番号で入力してしまうこと。そう見積番号は各自が勝手に、
それぞれが管理しやすい適当な番号を手入力で付けているんです。担当者が勝手に管理
している番号でも、同じ番号でなければ的確に見積り一覧の中からすぐに探せますし間
違いもありません。時代遅れかも知れませんが、細心の見積り方法の運用はまだまだ
意識レベルが低く、現状のままでの少しの改善策しかできないと思い、カウントアップ
の方法を考えていました。できなければ仕方ありませんが、できることであれば少しで
も改善したいと思っています。

追伸:見積番号は別名保存するファイル名の中に表示してファイル名で探すときに判断
する材料にしています。

(???)さんへ
上記のような感じですが、マクロによる方法しかないようですのでこのような質問を
しているんです。なにか良案があれば教えてください。
(Sammy) 2014/02/03(月) 12:34


 ???さんの意見が最もだと思います。

 もしマクロにしたとしても、保存した後のフォーマットをコピーして使われたら
 どうしますか?という問題が出てきます。
 ルールが守れないからマクロ、ならやめたほうがいいと思いますよ。
 ルールがあって、簡素化したいからマクロ、なら理にかなっていると思います。

 それでも開いたときにカウントアップさせたいなら、
 同じフォルダにCOUNT.txtを作り、中身を「10」にして、拡張子を.datに変更する
 新しいブックを作り、以下のコードをThisworkbookモジュールに貼り付ける
 但し、マクロを無効にしたまま開かれたら意味がありません。
Option Explicit
Private Sub Workbook_Open()
    Dim OPEN_FN As String
    Dim SAVE_FN As String
    Dim objFSO As Object
    Dim objTS As Object
    Dim COUNTER As Long
    '
    '//////////////////////////////////////////////////
    '//ファイルの作成か、管理用か
    '//////////////////////////////////////////////////
    If MsgBox("見積書を作成しますか?", vbYesNo + vbQuestion) = vbNo Then
        If InputBox("管理パスワードを入力してください", "パスワードの入力") <> "1234" Then
            MsgBox "パスワードが違います。": GoTo err
        Else
            Exit Sub
        End If
    End If
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    '
    '//////////////////////////////////////////////////
    '//先に保存先を決めて、キャンセルならブックを閉じる
    '//////////////////////////////////////////////////
    SAVE_FN = Application.GetSaveAsFilename( _
        Title:="見積書の保存先", _
        InitialFileName:=ThisWorkbook.Path & "\見積書.xlsx", _
        FileFilter:="Excelファイル,*.xlsx" _
        )
    If SAVE_FN = "False" Then
        MsgBox "見積書の作成がキャンセルされました": GoTo err
    End If
    If objFSO.FileExists(SAVE_FN) Then
        MsgBox "ファイル名が重複しています。別名で保存してください": GoTo err
    End If

    '
    '//////////////////////////////////////////////////
    '//カウンタをdatファイルから読み込み、存在しなければ終了する
    '//////////////////////////////////////////////////
    OPEN_FN = ThisWorkbook.Path & "\" & "COUNT.dat"
    If Not objFSO.FileExists(OPEN_FN) Then
        MsgBox ("COUNT.datが存在しません")
    End If
    '
    '//////////////////////////////////////////////////
    '//datファイルから通し番号を取得し、カウンタを+10する
    '//////////////////////////////////////////////////
    With objFSO.GetFile(OPEN_FN)
        With .OpenAsTextStream(1)
            COUNTER = .ReadAll
            .Close
        End With
        With .OpenAsTextStream(2)
            .Write COUNTER + 10
            .Close
        End With
    End With
    Set objFSO = Nothing
    '
    '//////////////////////////////////////////////////
    '//指定の場所にカウンターの値を入れる
    '//////////////////////////////////////////////////
    Sheets("Sheet1").Range("A1") = COUNTER
    '
    '//////////////////////////////////////////////////
    '//マクロ無しブックで保存する
    '//////////////////////////////////////////////////
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=SAVE_FN, FileFormat:=xlOpenXMLWorkbook
    Application.DisplayAlerts = True
    Exit Sub
err:
    ThisWorkbook.Close savechanges:=False
    Exit Sub
End Sub

(稲葉) 2014/02/03(月) 12:56


私の方は、AUTO_OPENの例なぞ。
AUTO_OPENは、シート毎ではなく、標準モジュールを追加し、ここに書く必要があります。

 Sub AUTO_OPEN()
    Dim cw As String

    If Sheets(1).Range("A1") = "" Then
        Sheets(1).Range("A1") = "TEST0000JP"
    Else
        cw = Sheets(1).Range("A1")
        Mid(cw, 5, 4) = Right(Mid(cw, 5, 4) + 10001, 4)
        Sheets(1).Range("A1") = cw
    End If
 End Sub

コピーの作成については、雛型(テンプレート)となるマクロ無しブックを用意しておき、
雛型をコピー。コピーしたブックを開き、特定セルに新しい見積書番号を埋めて保存するとか。
(マクロ付きのまま丸ごとコピーし、後からマクロを削除するマクロを書く、という手もあり)
(???) 2014/02/03(月) 13:09


(稲葉) 様 ありがとうございました。ご面倒をおかけします。
ご指示通りにマクロの画面でやってみましたが、コンパイルエラーと出て
「プロシージャ内では無効」のメッセージが出て「Option Explicit」が反転していました。
次に進めませんでした。
初心者というより言葉の意味も分からずにやってますので間違っている箇所もわかりません。
頭が痛くなりそうです。
コピペの注意事項、貼り付ける場所等ありますか?
Sub ThisWorkbook()のところが黄色く塗られています。
以下マクロの記入内容です。
※これ以上は初歩から勉強が必要と思いますが、それも今となっては
難しく、「お前にはこれ以上無理だ」と思われるのであればそう言ってください。
あきらめます。

追伸です:
>但し、マクロを無効にしたまま開かれたら意味がありません。
の部分で今のエクセルは開いてから「有効にする」ボタンをクリックするように
なっていますが問題ありますか?

下記、一番最初から書かれている内容です。

Sub ThisWorkbook()
'
' Thisworkbook Macro
'
Option Explicit
Private Sub Workbook_Open()

    Dim OPEN_FN As String
    Dim SAVE_FN As String
    Dim objFSO As Object
    Dim objTS As Object
    Dim COUNTER As Long
    '
    '//////////////////////////////////////////////////
    '//ファイルの作成か、管理用か
    '//////////////////////////////////////// 以下同じと思います。
(Sammy) 2014/02/03(月) 14:27

 初心者だから全て聞けばいいというわけではありません。

 プロシージャとモジュールを区別してください。
 貼り付けるのはThisworkbook「モジュール」です。

 ヒントはこれだけです。
 これで調べても分からないようなら、マクロによる管理は諦めた方が賢明です。
(稲葉) 2014/02/03(月) 15:09

やはりあきらめた方がよさそうですね。
お金を出して既製品を購入の方向で考えます。
ご丁寧にいろいろありがとうございました。
(Sammy) 2014/02/03(月) 15:59

 稲葉さん
  常日頃の稲葉さんからすると、今回はかなり厳しいですね。
  虫の居所が悪いですか?

  個人的には、質問者の当初の構想でそんなに問題ないと思っているのですけど。。
  そんなに、番号一覧を作らないと具合が悪いですか?

 Sammyさん
  まだ、お金掛けないでやろうとしているなら、私が続けてもいいですよー

(半平太) 2014/02/03(月) 17:22


稲葉さん あれからじっくり考えてみてやっと動くようになりました。プログラムの中もじっくり仕組みを
追って行き、なんとなくですが理解できました。部分的にA1をL1に書き換えたり、番号の初期値も
count.txtで書き換えてdatに戻して、カウントも1上がるように出来ました。
すべて教えていただかなかったので考えることもでき大変勉強になりました。ありがとうございました。
また困った時には稲葉さんに教えていただきたいですね。

半平太さんご親切に有難うございます。
今回はお金をかけずに完成できました。やればできると自身もできました。
次回何かのご縁がありましたら宜しくお願いします。

(???)さん、途中で親切にしていただきありがとうございます。AUTO_OPENの勉強もやってみたかったです
が、今回のことで頭がいっぱいになってしまいこれ以上入りません。またの機会にお願いしたいと思います。

皆さん、本当にありがとうございました。
(Sammy) 2014/02/03(月) 18:00


 >稲葉さん あれからじっくり考えてみてやっと動くようになりました。

 それはよかったですね。

 そうなると、稲葉さんの対応が正しかったと云うことですね。
 大変失礼いたしました。 m(__)m

(半平太) 2014/02/03(月) 18:15


 Sammyさん
 >あれからじっくり考えてみて
 考えて欲しかったので大変よかったです。
 が、半平太さんのコードのほうが絶対よいものが出来るので、ダマって半平太さんに作ってもらっても
 よかったと思います!
 ご希望があればまた対応致します。

 > 半平太さん
 ご指摘の通り、先日から咳が酷くて、丁寧に最後まで教えてあげられなかったのは私の失態です。
 申し訳ございません。

 番号一覧については、ファイルの保存場所をリンクで管理していく場合に必要かな?と思った程度で
 運用に支障がなければ気にしていません。

 参考までにお聞きしたいのですが、半平太さんが作るとしたらどのような形になりますか?
 後学の為にさわり程度教えていただけたら光栄です。

(稲葉) 2014/02/03(月) 18:32


  あのー、稲葉さんのスキルの方が数段すぐれているので、
 「後学」になるようなものは持ち合わせておりません。 m(__)m

  構想にしても、お説の番号一覧の方が優れているのは、間違いないです。

 ・・・けど、私はニーズの大きさに合わせて対策を考える傾向にあります。

 私が考えるフロー

  テンプレートが開かれたら、見積書を作成するか尋ねる。
  ↓
  (Yesの場合) 保存先とブック名を決定させる。
  ↓
  見積番号をカウントアップ後、一旦保存して次回の採番に備える。
  ↓
  直後に、指定ブック名で「名前を変えて保存」も実行する。
  その際、以下の項目を自動的に実施する
 (1)ファイルフォーマットをxlsx用にする
  (2)当該ブックに「見積番号変更」か「ブック名変更」があったら、
    見積番号のセルが赤くなるように条件付き書式を設定する。

    つまり、固有の「ブック名・見積番号」である事を条件とした条件付き書式を仕込む。
    条件式はこんな感じです。
         ↓
    =OR(見積番号のセルの値<>固有見積番号,LEFT(REPLACE(CELL("filename"),1,FIND("[",CELL("filename")),""),FIND("]",REPLACE(CELL("filename"),1,FIND("[",CELL("filename")),""))-1)<>固有ブック名.xlsx)

 以上の手当で、
  ・一人がテンプレートを開いている時間は、そんなに長くないので、複数人の同時的(?)な使用にも実用上耐えられる。
  ・既存「xlsxファイル」を使いまわそうとすれば、ブック名か見積番号は変更することになるのが一般的と考えられますので、
    その時点で見積番号のセルが赤く変わり、ユーザーにルール違反であることを認識させられる。

(半平太) 2014/02/03(月) 20:35


 いやいやご謙遜されると、私が馬鹿みたいですが・・・
 ありがたくお言葉頂戴いたします。

 条件付書式いいですね。
 テンプレートは空白以外、保存後は固有見積番号以外を設定すればユーザーに意識させられますもんね!

 時間見つけてSammyさんから要望があれば付け加えたいと思います。

 勉強になりました。ありがとうございます。
(稲葉) 2014/02/03(月) 21:07

朝出社してびっくりです。私の要望でこんなに皆さんが一体化?した会話が発展するなんて思ってもいませ
んでした。一昔前ならこんなことはなかったと思いますが流石にインターネットの力はすごいものがありま
す。これからもどんどん活用したくなりました。今回皆さんにお世話になってこんなに親切な人ばかりなん
だろうかと逆に思いますがそうなんですか?違いますよね。世の中にはハッカーなる集団もあったりして怖
い怖いと思いがちですが・・・。運がよかったのかな?

そこで稲葉さんにお願いがあります。半平太さんの記述を見ていましたら
>見積番号をカウントアップ後、一旦保存して次回の採番に備える。

  ↓
>直後に、指定ブック名で「名前を変えて保存」も実行する。
とありますが、このようにできると番号が発行されてから名前を付けて保存できるんですよね。
昨日も数枚見積書を作りましたが、保存するときにファイル名に見積番号が盛り込めず、一旦ファイルを
閉じてからファイルを探しに行き番号をファイル名の中に追加しなければいけません。2度手間になって
います。出来れば教えていただきたく思います。
条件付き書式はルール違反防止になりますが、同僚から批難の声が上がりそうでとりあえずなしというこ
とでお願いします。同僚の中で使うことが多いためあまり縛りが多いと逆に困ってしまいます。

宜しくお願いします。
(Sammy) 2014/02/04(火) 08:31


 >同僚の中で使うことが多いためあまり縛りが多いと逆に困ってしまいます。

 今回の相談の趣旨から外れる様に感じますねぇ。

 ダブり採番に悩んでいる人は、Sammyさんだけなんですか?

 ダブり採番の弊害とその対策について、同僚が何を考えているのか知りたいのですけど。

 例えば「縛られるくらいなら、ダブりなんて滅多にないし、
 その後の対応にもそんなに困っていないから今まで通りの方がいい」 とか

(半平太) 2014/02/04(火) 11:20


気分を害されたのなら申し訳ありません。
見積をしている同僚の中にはいろいろな性格の人がいまして、統一した決まり
を徹底するには程遠いものがあります。
違反などなんとも思わない集団です。ご理解ください。
簡単に理解してくれる人たちであればもっと厳しい管理をしたいと思います。
最低限防止したいところをお願いしたいだけです。そのような集団の中で今回
直したいことは見積番号のダブり防止とファイル名に記述する見積番号の入力
時の簡素化です。
ご理解いただけないなら仕方ありませんが・・・。ダブり採番に悩んでいるの
は見積りファイル一覧から見積書を探し出す業務の担当者です。
こちらの追及や反発は半端ない強力なものです。
間に挟まった我々はどうしようもないんですよ。・・・

(Sammy) 2014/02/04(火) 11:48


 相手がやくざ(のような人たち)では、Sammyさんもお手上げですね ^^

 >保存するときにファイル名に見積番号が盛り込めず

 どんなルールで盛り込みたいのですか?
 見積書番号とファイル名の関係をご説明ください。
 (具体例も2,3つ挙げてください)

(半平太) 2014/02/04(火) 13:47


ご理解ありがとうございます。環境はめっちゃ悪いので。
稲葉さんのプログラムはファイルを保存するときにはまだ番号がわかりませんので盛り込めません。
希望は保存する前に表示されていること。
そしてファイルは統一されたファイル名はなく企業名が最初に来る(企業名ごとに分けている)の
で統一されたものはありません。保存ホルダも営業マンごとになっています。
今後のことを考えると最初に見積番号が来ると番号順に並んで見つけやすいと今更ながら思ってい
ますが、すでに遅しです。大量の見積書の中に新しいファイル形式の見積書は入れることは許され
ないと思います。途端に大嵐になりそうです。

下記ファイルの例です。

例:○○会社 営業所名 電気部品01 123456789

という感じのファイルに統一されています。
123456789 の部分が見積番号です。
このパターンしかありません。
時々有力な見積書には各々ファイルの前に記号を付けて一覧の一番最初の方に表示するようにする
人もいます。(私が余計なことを教えてしまいました。)
こういう人のは無視していただいて結構です。

宜しくお願いします。

(Sammy) 2014/02/04(火) 14:56


 稲葉さんの構想で対応可能です。
                     ___↓____
 >InitialFileName:=ThisWorkbook.Path & "\見積書.xlsx",

 やくざさんにファイル名を入力させるダイアログを出す直前に、
 DATファイルから見積番号の採番を行い、上記「見積書」の所にそれを反映させればいいです。
                   _________
 >例:○○会社 営業所名 電気部品01 123456789

 もし、その場になってから、ユーザーがファイルの作成を中止した場合、
 採番が空振りになり、「123456789」は永久に出番がなくなりますが、
 当初のご説明では、見積番号は飛び飛びで構わないとあったので、
 これは問題にならないと考えます。

 ちょっと心配なのは、「○○会社 営業所名 電気部品01 」の部分です。
 まだ、何もデータが入力されていない時点なので、プログラムで補う訳には行かず、
 ユーザーが直接、手入力で補充する必要があります。

 果たしてここは大丈夫なのかどうか?

 この懸念が解消されるなら、私の出番はもうないので、そろそろ稲葉さんにバトンタッチいたします。

(半平太) 2014/02/04(火) 15:34


 すみません、寝込んでて朝からみてませんでした。

 「○○会社 営業所名 電気部品01 」この部分がある程度決まっているなら、ユーザーフォームのコンボボックス等で
 会社名、営業署名、製品概要?みたいな形で選択させる方法もあります。
 その場合、保存先を決めるだけなのでフォルダ選択ダイヤログに変更します。
 通し番号については半平太さんがおっしゃっていた通りです。

 ○○会社 営業所名 電気部品01この部分だけSammyさんが仕様を決めていただければ対応いたします。
 が、もう少し体調もどってからにさせてください。

 お二人がよければ、半平太さんの構成で1から作っていただければありがたいです。

 人任せですみません。
(稲葉) 2014/02/04(火) 16:07

稲葉さん、半平太さん 有難うございます。

稲葉さん 体調がすぐれず大変なところこんなお願いをしまして申し訳ありません。
回復されましたらまたお願いします。お待ちしています。お大事にしてください。
「○○会社 営業所名 電気部品01」の部分は営業所がなかったり、メモ的要素を
入力したりと仕様が決まっていませんので、見積番号がファイル内に表示されて
いれば大丈夫です。

半平太さん 稲葉さんがお二人さえよければとおっしゃってますが、よろしいですか?
半平太さんのプログラムも拝見したくなりました。
ほんの僅かですが、プログラムの言語がどのようなことを行っているのか、どのような
手順で動作しているのか、文字を解読?していくと面白いと思えるようになりました。
今までは拒絶反応でダメって遠ざけていたことがウソのようです。勉強の意味でも
違った内容を見たいと思います。是非教えてください。

(Sammy) 2014/02/05(水) 08:42


 >見積番号がファイル内に表示されていれば大丈夫です。 
 とのことですので、簡単に。

 以下の3行を消してください。
    If objFSO.FileExists(SAVE_FN) Then
        MsgBox "ファイル名が重複しています。別名で保存してください": GoTo err
    End If

 次に、「指定の場所にカウンターの値を入れる」の下に
    '//////////////////////////////////////////////////
    '//指定の場所にカウンターの値を入れる
    '//////////////////////////////////////////////////
    Sheets("Sheet1").Range("A1") = COUNTER
    '

 以下のコードを追加してください。
    '
    '//////////////////////////////////////////////////
    '//ファイル名に通し番号を入れる
    '//////////////////////////////////////////////////
    With CreateObject("VBScript.RegExp")
        .Pattern = "(.*)(\.xlsx$)"
        .Global = True
        With .Execute(SAVE_FN)(0)
            SAVE_FN = .submatches(0) & COUNTER & .submatches(1)
        End With
    End With
    '

 これでどんな名前でも通し番号が入ります。(たぶん。)

(稲葉) 2014/02/05(水) 09:42


半平太さん 有難うございます。
最初の方の内容は何となくわかりますが最後の方は???です。
今昼休みですが、落ち着いて作らないとおそらく間違えますので
後程(夕刻?)じっくり時間がある時に考えてやってみます。
完成しましたらまたコメントします。
ありがとうございました。

(Sammy) 2014/02/05(水) 12:33


半平太さん バッチリです。完成です。
私の思い描いていた通りの動作です。
これで毎日の見積りにかけている時間の短縮と見積番号の盛り込み忘れが解消されます。
本当にありがとうございました。
同僚にもこれなら見積り作成手順書を作って説明なしでもやっていけそうです。
弊社の大切なプログラムになりそうです。
やくざさんにも喜んでいただけそうです。

今回は本当に皆さんにお世話になって感激でどのようにお礼を言っていいのかわかりません。
感謝感激です。
またの機会がありましたら是非皆さんにお願いしたいと思います。
ありがとうございました。
途中挫けそうになりましたが頑張ってよかったです。勉強にもなりました。

稲葉さん、早く良くなってくださいね。どこに住んでいらっしゃる方かわかりませんが、
早く良くなることを祈っています。Sammyより

(Sammy) 2014/02/05(水) 16:58


 (´・ω・`) 
(稲葉) 2014/02/05(水) 17:06

 >半平太さん バッチリです。完成です。 

 あのー、それ、私のレスじゃないんですけど。

 すべて、稲葉さんです。

 スーパーマン並みの回復力ですね ^^

(半平太) 2014/02/05(水) 17:08


 回復はしてないのですが、会社休んだだけ仕事が溜まるので・・・
 とった水分が全て鼻水に変換されます。
Const POCARI As OOTSUKA = 500
Const DAKARA As SUNTORY = 500
Const OIOCHA As ITOEN = 500
Sub HAMAMIZU
    Dim WATER As H2O
    Dim INABA As Old Man
    Dim HANAMIZU As 
    WATER = Array(POCARI * 2 , DAKARA * 2 , OIOCHA * 1) 
    INABA = HAKUSHON(WATER)
End Sub
Function HAKUSHON(ParamArray MIZU()) As HANAMIZU
    Dim M As Variant
    For Each M In MIZU
        HAKUSHON = HAKUSHON + M * 0.90
    Next M
End Function        

(稲葉) 2014/02/05(水) 17:25


えええええええええええええぇ!!
なんと稲葉さんだったとは、思い込みの激しい私をお許しください。
まさか寝込んでいるはずの稲葉さんがご対応していただけたとは思いもよらず
すっかり半平太さんのと思いこんでいました。
改めまして稲葉さん、大変お体の調子が悪い中ご対応いただきまして有難うございました。
昨日あれから同僚に試運転してもらいましたが、何の問題もなく夜遅くまでやってましたよ。
好評です。
これで今までの問題も解決されて業務のトゲトゲの黄色い声をした担当者も本日より丸い言葉
になりそうです。
またお知恵、お力をお借りするときがあると思いますが、その時は書き込みますので
優しく厳しいご対応をお願いします。では・・。
追伸:水分の取りすぎも良くないと思いますのでほどほどに・・・

(Sammy) 2014/02/06(木) 06:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.