0

私はExcelのアドインを書いています。新しいワークシートを作成し、既存のワークシートからデータをコピーすることになっています。

これで、アドイン全体が別の Excel ドキュメントで動作します。しかし、私が作業するために必要なものは、新しいワークシートを追加する機能を無効にしています.

誰かがこれを可能にするコードを教えてもらえますか?

Sub Auto_Open()

Dim WSheet As Worksheet
On Error Resume Next
Set WSheet = Sheets("DispersionList")
On Error Resume Next
Dim works As Worksheet
ActiveWorkbook.Unprotect

If WSheet Is Nothing Then
Set works = Worksheets.add(after:=Sheets(Worksheets.Count)).Name = "DispersionList"
Call makeFormat

Worksheets(1).Activate
End If

DispersionForm.Enabled = True
DispersionForm.Show

End Sub
4

1 に答える 1

0

上記の pnuts のように、Google/SO を検索すると、パスワードのハッキングに関する記事がたくさん見つかります。ただし、私の答えは、パスワードをハッキングすることではなく、ワークブックをいじるために使用できる代替手段についてです。誰かが Excel ファイルを保護した場合、それをいじるつもりがないことは明らかです :) 個人的な選択として、私はハッキングを支援しません。作者からパスワードを入手できれば、それに勝るものはありません。

私が考えることができる 2 種類の保護があり、そのブックにシートを追加できないようにします。

  1. コード経由
  2. ワークブック構造は保護されています。

ワークブックをハッキングするつもりではなく、いろいろと試してみたい場合は、いくつかのオプションがあります。

  1. 保護がコードによるものである場合、そのファイルはマクロをサポートする xls または xlsm ファイルである可能性があります。ここで作成者が行った可能性があるのは、シートを追加するとすぐに削除されるコードを記述したことです。このような場合は、単にファイルを xlsx ファイルとして保存し直してください。ファイルを閉じて再度開くと、ハッキングせずにシートを追加して再生できます。
  2. ワークブックの構造が保護されている場合、セルを既存のワークブックから新しいワークブックにコピーして (許可されている場合)、それを操作する以外にできることはほとんどありません。
于 2013-09-30T19:07:00.250 に答える