VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/06/02(Fri) 11:40
投稿者ダンボ
Eメール
URL
タイトル新たな問題(解決不能?)

YK さん、どうも有り難うございます。

Rmove-ImportにするかDeleteLines-InsertLinesにするか瞬時検討後、後者にしました。
理由:本来の目的を考えるとワークブックの開き直しはなんだか美しくない。
小問題点:Common.basの先頭にはAttribute文が付いている。そのまま読み込むとNG
対策:最後にDeleteLines 1をしても良いが、折角だからCommon.basの先頭行は配布日を記したコメント
行に置き換えておく。

Private Function MacroRewite(WB As Workbook, TS As Object)
    With WB.VBProject.VBComponents("Common").CodeModule
        .DeleteLines 1, .CountOfLines
        .InsertLines 1, TS.ReadAll
    End With
End Function

ところがですよ。解決不能な問題がありました。
配布したブックには他人にマクロを触られないようにVBProjectに保護を掛けてあるのです。
これを外さないとWith文のところでエラーになります。
ではVBProjectの保護を一時的に外すコーディングは...と考えてみると「あるのだろうけれどMSは教えな
い」
「それを許したら他人のマクロも上手に改竄できるから」

考えすぎですかね?>All

#いや、パスワードは何のためにあるのか。パスワードを指定すればVBProjectの保護を一時的に外す
メソッドがあるのではないか? 見あたりません...


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -