Function LoginName() As String
LoginName = CreateObject("WScript.Network").UserName
End Function

上記の内容をエクセル起動に実行されるようにしたいのですが
Auto_Openの記述方法が分からないので教えて下さい

A 回答 (2件)

LoginName 関数を Workbook_Openイベントプロシジャに書きたいということですか?百歩譲っても Workbook_Open イベントプロシジャに書くのは、LoginName関数を呼び出して、それを表示する等の命令ではないでしょうか?



ブックを開いたときに、ユーザ名を表示するような場合は、こんな感じになります。
Workbook_Openイベントプロシジャを書く場所は、ThisWorkbookの下です。

Private Sub Workbook_Open()
MsgBox LoginName
End Sub

Function LoginName() As String
LoginName = CreateObject("WScript.Network").UserName
End Function
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2016/02/15 17:16

Auto_Openの記述は、以下通りです。


Function LoginName() As String
Public Sub Auto_Open()
 ここに本文を書く
End Sub
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

本文を書くに「LoginName = CreateObject("WScript.Network").UserName」を
記述して実行すると下記のエラーがでます。何が悪いのでしょうか?

代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなければなりません。

お礼日時:2016/02/14 19:32

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

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

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

QEXCEL の auto_open で開けない

EXCEL の auto_open で

Application.Visible = True

とすべきところを
間違えて

Application.Visible = False

してしまいました

これだと見えなくなってしまうので

なんとか表示させる方法があったら教えてください

Aベストアンサー

???
間違いが判っているなら
Application.Visible = True に修正すれば良いだけでは?


もしかしてauto_openを有効にしないでブックを開きたいという事かな?
それならば、Excelを起動し、メニューのファイル→開くで、目的のブックを選択したら[Shift]を押しながら開いて見てください。
思い違いでしたら失礼。

QAuto_OpenとWorkbook_Openの違いは?

Auto_OpenとWorkbook_Openの違いは何でしょうか?
マクロから開かれた場合、Workbook_Openしか実行されないことは認識していますが、それ以外に異なる点は無いのでしょうか?
Workbook_OpenやWorkbook_BeforeCloseはブックが最初に開かれたり閉じられたりすると認識していますが、最近このマクロを記述しているブックをウィンドウのバックに置いて、他のブックからこのブックにしようとするとやたら時間がかかるような気がしました。
Workbook_OpenやWorkbook_BeforeCloseを削ったら早くなったような気がしましたが、これは単なる気のせいでしょうか?
よろしくお願い申し上げます。

Aベストアンサー

同様の疑問を持っている人が、世間にはたくさんいるようで、
「Auto_Open Workbook_Open 違い」
このキーワードでネット検索をかけると、たくさんヒットしますよ。

QWScript.Echo と msgbox

vbsにおいて
WScript.Echo
msgbox
の違いはなんでしょう?

WScript.Echo "aaa"
msgbox "bbb"
とするとどちらもメッセージが表示されます。
vbsでコードを作る際どちらを浸かった方がよいのでしょうか?

Aベストアンサー

通常、VBS ファイルをダブルクリックした場合は
Wscript.exe で実行されますので、違いが分からないと思います。
コマンドプロンプトを立ち上げて
cscript.exe ○△.vbs + Enterキー
とやると違いが実感できます。

Wscript.echo はコマンドプロンプトの画面内に出力されます。
どんな時に便利かというとファイル内に
Wscript.echo 実行結果の内容を表すモノなど
の様になっていれば
出力結果を再利用しやすいですね。
なので用途によりけりです。
単純に確認用なら、Msgbox の方がキーストロークが少ないので楽 (^^ゞ
記録用ログファイルに残したい場合は、Batファイルに
cscript.exe //nologo ○△.vbs >> c:\log\log.txt
とでもしておけば簡易的なログファイルの出来上がりです。

QCreateObjectとはどういう意味なのでしょ

CreateObjectとはどういう意味なのでしょうか?

よく、IEを立ち上げたい時に
Set ObjIE = CreateObject("InternetExplorer.application")
を使ってましたが、
Debug.Print CreateObject("Wscript.NetWork").ComputerName
でコンピューター名を取得できる事を知りました。

CreateObjectは、オブジェクトやインスタンスを作成するものだと思っていたのですが、
CreateObject("Wscript.NetWork").ComputerNameは、
オブジェクトやインスタンスを作成してないですよね?

なので混乱しています。

あと、CreateObjectは関数なのでしょうか?メソッドなのでしょうか?

Aベストアンサー

> CreateObject("Wscript.NetWork").ComputerNameは、
> オブジェクトやインスタンスを作成してないですよね?

作成してますよ。

CreateObject("Wscript.NetWork")
で作成したオブジェクトに対して
.ComputerName
を使っています。

Set ObjNET= CreateObject("Wscript.NetWork")
ObjNET.ComputerName
を一度にやったような感じです。

Qパワーポイントでマクロ(Auto_Close)について

パワポのマクロの件で質問です。
パワポのマクロでAuto_Closeは使えるのでしょうか?
作ってみたのですが、閉じてもマクロが実行されてないようなのです・・・

たとえば

Sub Auto_Close()

Msgbox "閉じます"

End sub

としても、何もおきずに閉じてしまいます。

分かる方がおられたら教えてください

※使用環境
WindowsXP
パワーポイント2003

Aベストアンサー

こんにちは。

>イベントの書き込み方法等を詳しく教わり有難く思っております。

もっと大事なことを書きました。私のデバッグの方法です。今まで、全容は一度も公開したことがありません。今まで、そういう必要がなかったからですが。
デバッグは、Debug.Print やWatch Window を使えばよいとお思いかもしれませんが、意外に、これらは不便です。特に、Debug.Print は、そんなに多くバッファが取れませんので、せいぜい、数行に限られますし、それぐらいなら、ローカルウィンドウを使えば済みます。

「へー、こんなことをしているのだ」っていうだけでよいのです。人は人なのですが、デバッグに、Watch Windowsとか言っている人がいたのですが、本当かなって思いました。

ところで、再びお詫びというか、最初の質問から、その内容を読み違えていたところにあったように思います。一ひねり考えてしまいました。他の人が書いていたら、おそらく、もっと早い段階で解決したものだと思いますが、私は、別の考えたところに、突っ込んでしまった後では、すぐに気が付かなかったのです。

>パワーポイント本体(アプリケーション)を閉じるとエラーがでます。

普通は、ファイルとアプリケーションとは同時に終了するから、エラーは出ないはずですが。
単に「閉じる」という動作そのものに表示を出すということではないかと思いました。そうすれば、ファイル名も関係なくなります。

イベントの部分は、以下のようでよいはずです。Pres.Name は、ファイル名が出ます。ここから、構築して行くべきでした。
これが、本来の基本形です。
'-------------------------------------------

Public WithEvents app As Application
Private Sub app_PresnetationClose(ByVal Pres as Presentation)
   MsgBox Pres.Name & "閉じます" '
End Sub

こんにちは。

>イベントの書き込み方法等を詳しく教わり有難く思っております。

もっと大事なことを書きました。私のデバッグの方法です。今まで、全容は一度も公開したことがありません。今まで、そういう必要がなかったからですが。
デバッグは、Debug.Print やWatch Window を使えばよいとお思いかもしれませんが、意外に、これらは不便です。特に、Debug.Print は、そんなに多くバッファが取れませんので、せいぜい、数行に限られますし、それぐらいなら、ローカルウィンドウを使えば済みます。

「...続きを読む


人気Q&Aランキング

おすすめ情報