excel2007です。マクロで、データベースへの書き込みをさせています
データベースブックを勝手に開けないようにパスワードをかけています。
user端末のブックに
Workbooks.Open (d$ + databook), Password:="hogehoge"
というマクロをいれておき、長いこと無事に機能していました。
ところが、あるuser端末での操作中、突然、パスワードを聞いてくるようになりました。
つまり、マクロでの自動パスワード入力を拒絶し始めたのです。
手作業でパスワードを入力したらすんなり入れましたが、それでは運営上こまります。
原因は、別のブックを開いたためにそこでexcelの基本設定がかわったのではないかと思われます。どこの設定を戻せば元通り、マクロに仕込んだパスワードが機能するのでしょうか。
あるいは新たなセキュリティ設定がoffice update で仕込まれてしまったのでしょうか。
教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>補足として、


>操作するPCにインストールされているのは
>Excel2007で、
>データベースとして作成してあるBOOK
>はExcel2003形式 拡張子xls
>です。
>各端末からデータベースに記入するための
>bookもExcel2003形式 拡張子xls
>です。
>このあたりに原因があるようにも思えます。

それはないと思います。
私も、似たようなことをしていますので。

>マクロは動きます。
キー記録で作成したマクロが動くのなら
Workbooks.Open (d$ + databook), Password:="hogehoge"
が間違っているではないですか。
例えば、d$ や databook に不要なスペースが入っているとか。

また、
キー記録で作成したマクロを
Workbooks.Open (d$ + databook), Password:="hogehoge"
と置き換えたら動きますか?

この回答への補足

原因はマクロではありませんでした。
今日、精査したところ、
読み取りパスワードを設定し、共有をかけたbookを
開く際に、パスワードを2回入力する必要があるように
なっていることに気がつきました。
読み取りと書き込みのpwのことではなく
読み取りのためのpwを二回聞いてきます

以前は一度のパスワード入力で済んでいたのですが。

ある方からメールで送信されたbookを開いてからそうなったので
設定が変わったせいと思っていました。

これはexcelか osのバグのようです。

OSはVISTA
excel2007

補足日時:2011/04/19 03:18
    • good
    • 0
この回答へのお礼

ありがとうございました。
マクロが原因ではないので
いったん閉じます
別の質問を立ち上げます

お礼日時:2011/04/19 03:43

キー記録で


そのファイルを開くマクロを作成し、
(, Password:="hogehoge"の部分は手動で追加してください)
そのマクロは動きますか。

この回答への補足

マクロは動きます。
補足として、
操作するPCにインストールされているのは
Excel2007で、
データベースとして作成してあるBOOK
はExcel2003形式 拡張子xls
です。
各端末からデータベースに記入するための
bookもExcel2003形式 拡張子xls
です。
このあたりに原因があるようにも思えます。

補足日時:2011/04/18 16:38
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q起動時ログインパスワード"なし"から"あり"に設定したい

vista使用しています。
PC起動時にアカウントからログインする際に、パスワードを求められますが、
今までパスワードは設定しておらず、enterでログインしていました。
今後、パスワードの設定が必要になったので設定しようと思い、
ctrl+alt+deleteでパスワードの設定画面に行き、
古いパスワードを入れるところに何も入れないで、新しいパスワードを入れたところ、エラーになってしまいました。
古いパスワードのところに何かしら入力しないとダメなのでしょうか?

それとも、パスワードなしでログインしていたのに今更パスワードは設定できないのでしょうか?
質問の仕方が解りにくいと思いますが、vista初心者のためよろしくお願いいたします。

Aベストアンサー

NO1追加
Vistaでログインパスワードを設定すると、忘れた場合にXPと違い、セーフモードのAdministratorユーザーからのパスワード解除は不可能ですから、ログオンパスワードを設定する際は「パスワードリセットディスク」をお忘れなく作成しておいて下さい。

「コントロールパネル」「ユーザーアカウントと家族のための安全設定」「ユーザーアカウント」左側「パスワードリセットディスクの作成」「パスワードディスクの作成ウィザードの開始」を起動
パスワードを入力してディスクを作成

「ログインパスワードの有効期限を伸ばす」
ログインパスワードはデフォルトで42日間の有効期限が設定されています。
http://vista.papepopc.com/2007/05/post_44.html

参考URL:http://pc.nikkeibp.co.jp/article/NPC/20071022/284896/

QExcel2007のマクロ(excel4.0)のSELECT関数でマクロエラーが発生する

Excel VBAで開発されたソフトの改造を行ってますが、Excel2007で動作しないマクロがあり困ってます。

<開発環境>
・WindowsXP Pro SP3
・Celeron 540(1.8GHz)
・メモリ1GB
・Excel2007 SP1 (Microsoft Office2007)

改造元ソフトはOffice2000で開発されており、Excel2007で動作するとマクロエラーが発生する処理があります。
因みにまだソフト改造はしてなく、そのままExcel2007で動作させるだけでマクロエラーが発生します。

発生する箇所はマクロ(excel4.0)で定義されており、下記のコマンドです。

=SELECT(!選択エリア)

マクロエラーの内容は下記になります。

-------------------------------
マクロエラー
[dbg.xls]マクロ(excel4.0)BV28
-------------------------------

やりたい事はシートの特定の範囲を選択することです。
"選択エリア"は正しく定義されていることは確認してます。
(=シート名!$D$4:$CY$103 と定義してます)

Excel2000やExcel2003ではマクロエラーが発生せずに正常に選択されます。

Excel2007のマクロセキュリティ設定を「すべてのマクロを有効にする」にしてます。
開発者向けのマクロ設定を「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックしても改善しません。

ネットで調べましたが判らず、ここで質問させて頂きました。
判りにくい説明で申し訳ありませんが、よろしくお願いします。

Excel VBAで開発されたソフトの改造を行ってますが、Excel2007で動作しないマクロがあり困ってます。

<開発環境>
・WindowsXP Pro SP3
・Celeron 540(1.8GHz)
・メモリ1GB
・Excel2007 SP1 (Microsoft Office2007)

改造元ソフトはOffice2000で開発されており、Excel2007で動作するとマクロエラーが発生する処理があります。
因みにまだソフト改造はしてなく、そのままExcel2007で動作させるだけでマクロエラーが発生します。

発生する箇所はマクロ(excel4.0)で定義されており、下記のコマンドです。...続きを読む

Aベストアンサー

マクロシートが見つかったようでよかったですね。
あれを回答しながらたぶん次は4.0マクロについての質問があるだろうと予想していました。。。(^^;;;

4.0マクロについては使ったこともないので今回の回答は控えようと思ったのですが、もしかして、ということもありますので。

VBAでもアクティブにしてないシートのセルは選択できないのですが、その辺りはどうですか?
2007で実行するときに、”選択エリア”のあるシートをアクティブにしてから実行しましたか?

該当シートをアクティブにしてから実行、とか、
SELECTする前に強制的に該当シートをアクティブにするコード入れて実行、とか。

選択エリアがSheet1にあるとしたら

=ACTIVATE("Sheet1")
=SELECT(!選択エリア)

たぶん、否、きっと、トンマな回答でしょう。。。(^^;;;
 

Q共有しているフォルダーへのパスワード設定について

Win2000で、共有したいフォルダーを設定したところ。
Win98の他のパソコンから、win2000内の共有したフォルダーを見に行くと ネットワークパスワードを聞いて来ます。Win98では 共有の設定のところでフルアクセルの際パスワードによる区分を設定し、パスワードを設定できるのですが。
Win2000ではどのようにしてパスワードの設定もしくは、パスワードなしでの
フォルダーへのアクセルを可能にできるのですか。Win2000にバージョンアップ
したばかりです、申し訳ございませんが教えてください。

Aベストアンサー

ユーザーが設定されている場合は
コンピュータの管理→ローカルユーザーとグループ→ユーザー→右側のユーザー名を右クリック→パスワードの設定
ユーザーが設定されていない場合は
コンピュータの管理→ローカルユーザーとグループ→ユーザー→右側のGuestを右クリック→パスワードの設定
で設定出来ると思いますが…

QEXCEL2007で動くマクロがEXCEL2000だとエラーが出ます。

下記は、wordの「@一覧表」文字の部分をExcelで作成した表(B3:E9)に置き換えるEXCEL2007で作成したマクロですが、EXCEL2000で動かすと「メソッドまたはデータメンバーが見つかりません」のエラーが出ます。初心者につき、対処方法を教えて下さい。

Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Dim wordRange As Word.Range

Set wordApp = New Word.Application
Set wordDoc = wordApp.Documents.Open(ThisWorkbook.Path & "\ひな型用ドキュメント.docx")
(途中略)
Set wordRange = wordDoc.Content
wordRange.Find.Execute "@一覧表", Forward:=True
Range("B3:E9").Copy
wordRange.PasteAndFormat (Word.wdPasteDefault) ←エラー

*エラーは、wdPasteDefaultで出ます。

下記は、wordの「@一覧表」文字の部分をExcelで作成した表(B3:E9)に置き換えるEXCEL2007で作成したマクロですが、EXCEL2000で動かすと「メソッドまたはデータメンバーが見つかりません」のエラーが出ます。初心者につき、対処方法を教えて下さい。

Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Dim wordRange As Word.Range

Set wordApp = New Word.Application
Set wordDoc = wordApp.Documents.Open(ThisWorkbook.Path & "\ひな型用ドキュメント.docx")
(...続きを読む

Aベストアンサー

エラーは同じ箇所で出るのですか?
Pasteメソッドには引数はないと思いましたたが。Pasteのどこかにカーソルを置いてF1キーを押せばヘルプが見えます。確認してみてください。
もし他の場所にでるなら同様に確認しながら修正する訳ですが、2000と2007の両方で使うなら逆に2007で動くかも確認する必要があります。
判らなくなったらまた質問してください。

Qvistaのパスワード設定

こんばんは

vistaのパスワード設定について教えてください
コントロールパネル

「ユーザーアカウント」

“変更するアカウント”を選ぶ所まではわかりました

アカウントを選び、パスワード設定画面になりますが
調べてみたら「パスワードを作成する」を選ぶ事が出来ません
新しいパスワードは設定していないため、新しいパスワードは
空欄で変更を押しますが変更されないです

パスワード設定するにはどうしたらいいでしょうか
申し訳ないですがご教授願います

Aベストアンサー

>調べてみたら「パスワードを作成する」を選ぶ事が出来ません
パスワードを設定していないユーザーIDであれば「パスワードの作成」を選択できます。
既にパスワードが設定されている場合は「パスワードの変更」と「パスワードの削除」が選べます。

>新しいパスワードは空欄で変更を押しますが変更されないです
「パスワードの変更」で新しいパスワードの欄に未入力で「変更」ボタンを押すと「パスワードの削除」と同じ動作になります。

自分でやりたいことを正しく表現できるようにして頂かないと今の状態が伝わりません。
従って、回答も目的にかなっているか否かが分かりません。
この回答で目的が達成できなければあなたが実行したこととその結果を補足して下さい。

QExcel2007VBAシートコピーとマクロ保存

●質問の主旨
複数のシートのファイルにおいて最終シートだけをコピーし、
かつそのファイルの標準モジュールも含んだファイルを保存するには、
下記のコードをどのように書き換えたらいいでしょうか?
ご存知のかたご教示願います。

●コード
Sub 保存()

Dim flname As String


flname = "D:\医療週報\VBA試作\" & Format(Date, "yyyy年mm月") & ".xlsx"
ActiveSheet.Copy

ActiveWorkbook.SaveAs flname
ActiveWorkbook.Close

End Sub

●質問の補足
1)マクロで「保存」を実行するときは手作業で必ず最終ページを開いています(アクティブにします)。
2)上記コードのうち".xlsx"では最終シートだけをコピーできますが、
マクロの保存ができません。また".xlsm"にするとエラーが出ます。
".xls"にすると複数のシートが全てコピーされた上に、マクロの保存ができていません。
3)私はVBA初心者です。

●質問の主旨
複数のシートのファイルにおいて最終シートだけをコピーし、
かつそのファイルの標準モジュールも含んだファイルを保存するには、
下記のコードをどのように書き換えたらいいでしょうか?
ご存知のかたご教示願います。

●コード
Sub 保存()

Dim flname As String


flname = "D:\医療週報\VBA試作\" & Format(Date, "yyyy年mm月") & ".xlsx"
ActiveSheet.Copy

ActiveWorkbook.SaveAs flname
ActiveWorkbook.Close

End Sub

●質問の補足
1)マクロで「保存」...続きを読む

Aベストアンサー

dradra33 様

こんなのでどうでしょう?

特に質問に記載がなかったので「『マクロを実行するブック』の最終ページ(一番右端と解釈しました)を標準モジュール付きで別名保存する」こととして回答します。
 
それと、結局ファイルの拡張子を何にするのか良く分からなかったのでxlsxにするようにしています。


Sub Tset()
Dim s As Worksheet, flname As String

'保存ファイル名を取得
flname = "D:\医療週報\VBA試作\" & Format(Date, "yyyy年mm月")

'シート削除時のメッセージを非表示
Application.DisplayAlerts = False

'全シートをループ
For Each s In ThisWorkbook.Worksheets

'一番右のシート番号でなければ削除
If s.Index <> ThisWorkbook.Worksheets.Count Then
s.Delete
End If

Next
Application.DisplayAlerts = True

'保存
ActiveWorkbook.SaveAs Filename:=flname, FileFormat:=xlNormal
'xlsmが良ければ、FileFormat:=xlOpenXMLWorkbookMacroEnabled とする
End Sub

dradra33 様

こんなのでどうでしょう?

特に質問に記載がなかったので「『マクロを実行するブック』の最終ページ(一番右端と解釈しました)を標準モジュール付きで別名保存する」こととして回答します。
 
それと、結局ファイルの拡張子を何にするのか良く分からなかったのでxlsxにするようにしています。


Sub Tset()
Dim s As Worksheet, flname As String

'保存ファイル名を取得
flname = "D:\医療週報\VBA試作\" & Format(Date, "yyyy年mm月")

'シート削除時のメッセージを非表示
Appli...続きを読む

Qオグイン時のパスワードを設定したい。

会社のパソコンですが、私のIDでドメイン参加しています。
で、パスワード自体設定されていないので、
パスワードを設定しようと、
コントロールパネルのユーザーとパスワードからパスワードを変更しようとしました。
ところが同じWIN2000を使用している自宅のPCでは
「このユーザー名を使用するには、ユーザー名とパスワードを入力する必要があります」
というメッセージがでるのに、会社のPCではでません。
それからパスワードを設定しようとしても、
パスワードの設定自体ができません。

どうしてでしょうか?
御教授の程宜しくお願いします。

Aベストアンサー

会社のパソコンという事なので、おそらくあなた自身にAdministrstorの権限が与えられていないと思います、ですからパスワードの設定や変更は出来ない、ということではないでしょうか。セキュリティーの面からもシステム管理者の方にパスワードを設定してもらったほうがよろしいかと思います。

Q既存Excel VBAソフトがOffice2007でマクロエラーが発生

初めて投稿させて頂きました。
Excel VBAで開発されたソフトの改造を行っているのですが、初めてのVBAで悪戦苦闘しております。

<開発環境>
・WindowsXP Pro SP3
・Celeron 540(1.8GHz)
・メモリ1GB
・Microsoft Office2007 SP1

改造元ソフトはOffice2000で開発されており、Office2007で動作するとマクロエラーが発生する処理があります。
因みにまだソフト改造はしてなく、そのままOffice2007で動作させるだけでマクロエラーが発生します。
発生する箇所はVBAコードで定義されており、下記のマクロ実行時です。

Application.Run ("macro1")

マクロエラーの内容は下記になります。

-------------------------------
マクロエラー
[dbg.xls]マクロ(excel4.0)BV25
-------------------------------

この「macro1」はVBAのコードにはありません。
Excelの開発タブのマクロ一覧にはあります。
マクロ一覧で「macro1」を選択して、"編集"ボタンを押しても、マクロ一覧画面が消えるだけで何も表示されません。
この「macro1」がどこに定義されているか調べても全く判らず、ここで質問させて頂いた次第です。

Office2000やOffice2003ではマクロエラーが発生せずに正常に動作します。
Office2007のマクロセキュリティ設定を「すべてのマクロを有効にする」にしてます。
開発者向けのマクロ設定を「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックしても改善しません。

Office2000やOffice2003では動作しているので「macro1」はどこかに定義されているのだと思いますが、VBAコードにはありませんでした。
マクロ一覧にありますが、マクロ一覧の編集ボタンを押してもマクロが表示されません。
このマクロ「macro1」はどこで定義されているか、ご教授して頂けると助かります。

判りにくい説明で申し訳ありませんが、よろしくお願いします。

初めて投稿させて頂きました。
Excel VBAで開発されたソフトの改造を行っているのですが、初めてのVBAで悪戦苦闘しております。

<開発環境>
・WindowsXP Pro SP3
・Celeron 540(1.8GHz)
・メモリ1GB
・Microsoft Office2007 SP1

改造元ソフトはOffice2000で開発されており、Office2007で動作するとマクロエラーが発生する処理があります。
因みにまだソフト改造はしてなく、そのままOffice2007で動作させるだけでマクロエラーが発生します。
発生する箇所はVBAコードで定義されており、下記のマクロ...続きを読む

Aベストアンサー

エラーがexcel4.0となってますからマクロシートが使われているのでは?
シートタブにマクロシートは表示されてませんか。
あったらそれをアクティブにすればそこに4.0マクロが書かれていると思いますが。
マクロシートが見当たらなければ、非表示になっていると思われますので、表示してみてください。

外しましたらご容赦!

Qパワーオンパスワードが設定不可PCへのパスワード設定方法

BIOSのパスワードを設定しましたがBIOS設定画面に入る時だけパスワードを求めるものでした。パワーオン時にパスワードを求めてくるような設定が出来るソフト等の方法があれば教えて下さい。

Aベストアンサー

質問者さんのご要望とは若干異なるかもしれませんが、
Windowsの起動ドライブを暗号化し、
電源ONによるWindows起動開始時(Bios起動直後)に
パスワードを求めてくるようなことができるソフトはあります。

参考URL:http://www.forest.impress.co.jp/article/2008/02/08/truecrypt5.html

Q表をテーブルに変換するマクロ(Excel2007)

お世話になります。カテゴリ違いでしたらご指摘ください。
Excel2007で範囲A1:D8にテーブル書式を設定するマクロを作成し、作業中のブックに保存しました。

Sub テーブル書式()
'
' テーブル書式 Macro
'

'
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$8"), , xlYes).Name = _
"テーブル1"
Range("テーブル1[#All]").Select
ActiveSheet.ListObjects("テーブル1").TableStyle = "TableStyleMedium21"
End Sub

このマクロを別シートで実行しようとすると「実行時エラー‘1004’RangeクラスのSelectメソッドが失敗しました。」と表示されます。
表を書式付きのテーブルに変換するとき自動的にテーブル名がつけられ、それが既に記述されているテーブル名と異なるため発生するエラーかと思うのですが、VBAの知識が乏しくどのように修正すればいいのか分からず困っております。
ブック内のどのシートでもMedium21の書式付きテーブルに変換できるようにするにはどうすればよいか教えてください。
補足要求などあればご指摘ください。
よろしくお願いいたします。

お世話になります。カテゴリ違いでしたらご指摘ください。
Excel2007で範囲A1:D8にテーブル書式を設定するマクロを作成し、作業中のブックに保存しました。

Sub テーブル書式()
'
' テーブル書式 Macro
'

'
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$8"), , xlYes).Name = _
"テーブル1"
Range("テーブル1[#All]").Select
ActiveSheet.ListObjects("テーブル1").TableStyle = "TableStyleMedium21"
End Sub

このマクロを別シートで実行しようとすると「実行...続きを読む

Aベストアンサー

Range("テーブル1")などとする場合は SheetまたはBookのNamesコレクションに『テーブル1』が登録されていないといけません

ListObjects("テーブル1").Range.Select
で選択できると思いますよ

ただ Selectで選択する必要があるのでしょうか?

ListObjects("テーブル1").TableStyle ="TableStyleMedium21"
で変更可能なように思います ・・・


人気Q&Aランキング

おすすめ情報