質問させていただきます.
どうぞよろしくお願いいたします.

 PowerPointの操作をするコードを作成して使っております.
毎回立ち上がるパワポのウィンドウを非表示にしたいのですが,
myAPP.Visible = True状態でないと,presentations.Openでエラーが出てしまいます.

Dim myAPP As Object
myAPP = CreateObject("PowerPoint.Application")
Dim myAPPpre = myAPP.presentations
Dim Mypath As String = TextBoxパス.Text
Dim FName As String

myAPP.Visible = True

FName = Dir(Mypath & "test.ppt", vbNormal)
With myAPPpre.Open(Mypath & FName) '←上のmyAPP.Visible = Trueを消すとエラー
                    '「Presentations.Open : 無効な要求です。PowerPoint のフレーム ウィンドウは存在しません。」となります.

 どうにか見えない状態で実行できないものでしょうか.
調べておりますと,同じ現象がよくあるようでした.
http://www.kotaete-net.net/Default.aspx?pgid=14& …
http://www.microsoft.com/japan/technet/scriptcen … のページ中間あたり「さいわい、Visible プロパティを True に設定することによって~」のところ.)

 もし何か方法が分かるかたがいらっしゃいましたら,
アドバイスいただければと思います.
 どうぞよろしくお願いいたします.

A 回答 (2件)

Openの引数WithWindowの既定値はmsoTrueですから,そうなるでしょう。


WithWindowにMsoTriState.msoFalseを渡してやればよいです。
    • good
    • 2
この回答へのお礼

 どうもありがとうございます!
 アドバイス通りやってうまくいきました.
はじめ,Importするとエラーだらけになったので,
With myAPPpres.Open(Mypath & FName, WithWindow:=Microsoft.Office.Core.MsoTriState.msoFalse)
でできました.
 ただActivePresentationエラーの修正と合わせて
3時間かかりました..orz

 本当にどうもありがとうございました!

お礼日時:2009/05/17 20:00

myAPP.Top = 600 など画面外にしておいて


あとで戻しておくのだと簡単ですが。
使う人が途中で終了させたときにも
元に戻すようにしておく必要があります。
 (VBを使っていないので・・・です。)
    • good
    • 0
この回答へのお礼

 どうもありがとうございます!!
 画面ぎりぎりまで行く設定でやってみましたが,
テクが至らず元に戻せない時がありました.
 家族で使用するPCなので,今回はYune-Kichi様の方法でいきます.
 アドバイスどうもありがとうございました.

お礼日時:2009/05/17 20:04

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qパワーポイントの使い方

ビジネスで使うわけではなくある学校の講習会の講師を頼まれました。
以前よりパワーポイントを使っての講習を何度か考えたもののいつも作成途中で挫折してしまいます。
今度はがんばって再チャレンジしようと思っているのですがそこで質問なのですが、最近良く見かけるパワーポイントを使った講習などに
参加するとただ単に資料をスライドさせるだけでなく、あるスライドが表示されているとそのシートの画面上で文字が出たり消えたりし、表が
映し出されたり矢印などが出てきたりとビジュアル的に興味を持たれたりしそうな使われ方がしています。
パワーポイント初心者なので理解できていないだけなのかもしれませんが元々このような機能は付いていたのでしょうか?
どうしたらこのような表示方法が取れるのかと思っています。
ご存知の方がいらっしゃいましたら教えてもらえたらありがたいです。
また、初心者でも分かるようなパワーポイントの使い方や作成方法などを紹介しているサイトなどわっかたらありがたいと思います。
分かりづらい質問で申し訳ありませんがよろしくお願い申し上げます。

Aベストアンサー

パワーポイントの機能として「アニメーション」があります.
この機能は,文字や画像などに,効果をつけることができます.
以下のページを参考にしてください.

http://kokoro.kir.jp/pp/animation.html
http://www.eurus.dti.ne.jp/~yoneyama/power/p-anime.htm

QVB6変数の宣言dim j,k,p,m,n as Integerは良くない?

お世話になります。

VB暦1年です。

汎用の変数宣言でタイトルのように
dim j,k,p,m,n as Integer
dim ssa,ssb as String

など、カンマ区切りで変数宣言を使っていたのですが
最近、知人にasの手前の変数は型どおり宣言されるが
その手前の変数はVariant型で宣言されてしまうと指摘されました。

指摘されるまで気にはしていませんでしたが
ウォッチで確認すると変数に代入されるまでは
型がVariant/Emptyとなってます。

以後、気をつければいいのですが
過去にコーディングしたプログラムにも多少、使用していて客先に納品してしまっているものもあります。
後々、問題になるのかな?

Aベストアンサー

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというようなバグの原因になりやすいので、型を明示できるような状況で敢えてVariant型を使うべきではないです。

しかし、すでに納品してしまったコードについては、問題はメモリを余計に使ってしまうことくらいではないでしょうか?
他の人が気づかなかったことから考えるに、多分狭いスコープで使っていますよね? 比較対象や代入するべき型を誤るというようなロジックの誤りがない限り、少なくとも動作上の問題は発生しないと思います。ただ、直せる機会があるのであれば、直した方がいいとは思いますが。

おっしゃる通り、カンマで区切る場合は、
Dim j As Integer, k As Integer, p As Integer
という風にすべてAsで型を明示しないと、
Variant型になってしまいます。
つまり、
Dim j
Dim k
Dim p As Integer
とわけて書いた場合と同じです。
(VB.NETは、
Dim j, k, p As Integer
で全部Integerになるようなので、ややこしいですね)

すでにご存知とも思いますが、一般的にVariant型を多用しているコードは、宣言を見ても、どういう種類の値を使うかわかりづらいですし、比較対象の型を誤るというよう...続きを読む

Qパワーポイントでメモ欄?の使い方

パワーポイント初心者です。
今度、パワーポイントを使ってプレゼンすることになったのですが、
使い方がいまいちわかりません。
レジュメは作ったのですが、レジュメ下のメモ欄などは、どのように使うのでしょうか?
ここに記入した内容を読んでいきたいのですが、プロジェクターなどには隠して写したいのですが、どのように設定をしたら良いのでしょうか?
(手元のPCには写して、プロジェクターには写したくない状態です)

Aベストアンサー

おそらく、「ノート」のことだと思いますが・・・。

印刷の設定で「ノート」を選ぶと、上半分がスライド・下半分がノートになり、発表用の原稿ができますよ・・・という機能です。スライドショーの際に手元のPCに写すというものではないです。

Qマクロで100マス計算! Dim i,j As Integer For i = 2 ToRang

マクロで100マス計算!

Dim i,j As Integer

For i = 2 ToRange(”A1”).End(xlDown).Row
For j=2 To Range(”B1”).End(xlToRight).Column

Cells(i,j).Value = Cells(i,1).Value * Cells(1,j).Value
Next j
Next i
Endsub

上記のように記述しましたが、
iの最終行が2となってしまっていますがなぜこのコードが間違っているのか分からないです。。どなたか教えていただけたら嬉しいです!

Aベストアンサー

確認してはいませんが…


>改行、スペースは実際にはきちんととっていますので気にしないでください
とのことなので、違っているのかもしれませんが、

>For i = 2 ToRange(”A1”).End(xlDown).Row
         ↓
 For i = 2 To Range(”A1”).End(xlDown).Row
で、うまくいきませんか?
100マス(10×10)と最初から決まっているので、範囲は 2 To 11 でも良いように思いますが…

改行、スペースなどが正しくなっているなら、Range(”A1”).End(xlDown).Rowの値が2以下になっている可能性が考えられます。(ということは、A1が空白セル、または、A3が空白セルなどなど・・)
A1が空白セルの場合は、
 For i = 2 To Range(”A2”).End(xlDown).Row
とするか、
 For i = 2 To 11
などとすることで、動作するのではないかと推測します。

Qパワーポイントの使い方

パワーポイントでフェードという機能があるらしいのですが、
使い方が分かりません。
ご存知の方がいらっしゃったら教えて下さい。
たとえば、真っ白な状態のスライドに
「本日は誠にありがとうございます」という文章を
本日は
誠に
ありがとうございます
の3回に分けて順番に表示させたいときはどうしたらよいのですか?
フェードがどこの項目に入っているのかも分かりません。

Aベストアンサー

 フェードはアニメーションの設定で行います。詳しくはこちらを。
http://uec.iwate-u.ac.jp/text2.pdf

 また、パワーポイントの使い方については、こちらのサイトがいいようです。
http://www.nakeru-p.com/

Q特定のキーを入力すると、visible=falseからtrueになるよ

特定のキーを入力すると、visible=falseからtrueになるようにコーディングしたいのですがうまくいきません。次のようにalt+F12でFrameを表示させたいのですが全く反応しません。何故でしょう。

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF12
If Shift = vbAltMask Then
Frame2.Visible = True
End If
End Select
End Sub

アドバイス願いますm(_ _)m

Aベストアンサー

フォームのKeyPreviewプロパティがTrueになっているか確認してみては?

Qエクセルに貼り付けたJPEGデータを、再度JPEGデータとして保存したい。それと、パワーポイントの使い方で質問

現在、エクセルにJPEGデータが貼り付け、オートシェイプを使って編集しています。
それを、再度、JPEGデータとしてファイル保存をしたいのですが
何かいい方法はないでしょうか。

それとあわせて、パワーポイントでプレゼン資料を作成しているのですが、
JPEGデータをいっぱい使うと、どうしてもファイルが大きくなってしまいます。
何とかして、コンパクトにする方法はないでしょうか。

前半と後半の質問はリンクしております。
要は、エクセルで編集したJPEGデータをパワーポイントに貼り付けたいのです。
単純にコピー→貼り付け、をすると文字の大きさが変わったりして
再度、パワーポイントで修正をしないといけないのです。

それと、エクセルで編集した範囲を分割して、パワーポイントで使えないでしょうか。

質問が色々とびとびになり申し訳ございませんがよろしくお願いします。

Aベストアンサー

こんにちは。

カメラ機能について。
この質問の少し上にも似たような問答があります。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1614889
ここではカメラ機能を使わずに(以下引用)

>コピーしたいセル範囲や図形を選択
>Shiftを押しながら「編集」「図のコピー」で
>形式を「ビットマップ」にすれば変換できます

とされています。この方法でエクセルでコピーして、
パワーポイントで普通に「貼り付け」ます。手順が省けて、
このやり方の方がいいですね。

写真の容量を落す方法ですが、図の挿入で写真を貼ったあと、
画面に入るようにリサイズしていることと思います。
このままだと見かけだけで容量はデカいままなので、リサイズした写真を
選択して切り取り、「形式を選択して貼り付け」で、
「図(JPEG)」で貼り付けると再描画したものが貼り付きます。
これを一枚、一枚処理するわけです。

VBA で一括処理したいところですが、 PowerPoint で VBA を
書いたことがないので自信がありません (^_^;

こんにちは。

カメラ機能について。
この質問の少し上にも似たような問答があります。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1614889
ここではカメラ機能を使わずに(以下引用)

>コピーしたいセル範囲や図形を選択
>Shiftを押しながら「編集」「図のコピー」で
>形式を「ビットマップ」にすれば変換できます

とされています。この方法でエクセルでコピーして、
パワーポイントで普通に「貼り付け」ます。手順が省けて、
このやり方の方がいいですね。

写真の容量を落す方法ですが、図の...続きを読む

QDim x As Integer = 0

いつもお世話になっております。

只今、本に記載してあるソースコードを手入力しています。
標記のように入力したら、『コンパイルエラー 修正候補:ステートメントの最後』というエラーが出ました。

(1)このエラーは無視してもよいのでしょうか?
(2)そもそも、変数の宣言文の後ろに=0をつけている意味がわかりません。当方VB初心者です。

よろしくお願いいたします。

Aベストアンサー

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsugi.ed.jp/vba4graduate/vba_hensuusyokika.htm
ーーー
定数のConstであればこういう書き方はOK
Sub test01()
Const x As Integer = 0
MsgBox x
End Sub
ーーー
VB.NETでは、OK
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim x As Integer = 10
MsgBox(x)
End Sub
ーー
Javaでは可能であるようです
http://msugai.fc2web.com/java/var2.html
ーーーーー
>ろに=0をつけている意味がわかりません
宣言と同時に値を与える=初期化する

この点は(変数の宣言と初期化は)言語による、と考えるべきです。
この質問は何の質問か。
VB系統らしいことは判るが
VB以外のBASIC
VB6
VBA
VB.NET系統
のどれか質問に書くべき。質問者は経験が無くて、視野がそこまで行かないのかも知れないが。
ーーー
VBAでは(多分VBでも同じ。テスト環境がないので)
Sub test01()
Dim x As Integer
x = 0
MsgBox x
End Sub
はOK
ーー
Sub test01()
Dim x As Integer =0
MsgBox x
はDim x As Integer =0
と入力した段階でエラー。
http://www.bunsug...続きを読む

Qパワーポイントの使い方について

はじめまして ご教授お願いします。
現在パワーポイントを使っております。

■やりたい事
Aページの文章と(他の)前のBページの文章・グラフへリンクを張る。

具体的には、Aページの説明があります。この説明は、前のBページ以降で
細かく説明した内容のまとめです。

そこで、Bページでの内容を振り返りたい時、そのAページの文章・その他をクリック
することで、Bページへ飛ばせる リンクを張りたいのですが、可能でしょうか?


今までは、似たような事をハイパワーリンクを使い、他のファイル(パワーポイント、エクセル、その他のファイル)へのリンク(呼び出し、オープン)を使っておりましたが、
同じページのパワーポイント内で、任意のページへリンクを掛けることは可能でしょうか?

以上 宜しくお願い致します。

Aベストアンサー

No.2です。

> パワーポイントのバージョンは2003少し古い物です。
> 御指示の機能は見つかりませんでした。
> 2003では無理かもしれませんか?

見付からなかった機能は何でしょうか?
主語を省略されると、『無理かも』が何か分りませんよ。

「スライド番号を入力」+「Enter」キーで、入力したスライドに移動は、2003も同じはずです。

「スライドショーをスマートに」
http://kokoro.kir.jp/pp/show.html

「動作設定ボタン」は、添付しましたURLは2002または2003のはずです。

Qマクロ初心者です。 インデックスが有効範囲にありませんとエラーになりました。 Dim Open

マクロ初心者です。
インデックスが有効範囲にありませんとエラーになりました。



Dim OpenFileName As string
Dim book1 As Workbook
Dim sheet1 As worksheet

sub 問題 ()

OpenFileName = GetOpenFileName(”エクセルファイル,*.*”)
If OpenFileName <>”False” Then
workbooks.Open OpenFileName
Else
msgbox ”キャンセルしました”
Exit sub
EndIf

Set book1 = Activeworkbook

Activesheet.Copy Before:=Thisworkbook.sheet(1)

workbooks(”book1”).Close SaveChanges:=False

Set sheet1 = Activesheet

ここまで作りました。

管理台帳を開き、
別ファイルにコピーし
管理台帳は閉じる、というところで、
実行するとエラーとなり、
デバッグをクリックしたら、管理台帳を閉じるコードが黄色くなります。

()の中の”を消してもダメでした。
配列数が大きい時と存在しない名前を指定した時になるとのことですが、、
Set〜のコードは、取得できていないのでしょうか?

マクロ初心者です。
インデックスが有効範囲にありませんとエラーになりました。



Dim OpenFileName As string
Dim book1 As Workbook
Dim sheet1 As worksheet

sub 問題 ()

OpenFileName = GetOpenFileName(”エクセルファイル,*.*”)
If OpenFileName <>”False” Then
workbooks.Open OpenFileName
Else
msgbox ”キャンセルしました”
Exit sub
EndIf

Set book1 = Activeworkbook

Activesheet.Copy Before:=Thisworkbook.sheet(1)

workbooks(”book1”).Close SaveChanges:=False

Set sheet1 = Ac...続きを読む

Aベストアンサー

こんにちは

>Set〜のコードは、取得できていないのでしょうか?
ご提示のコードではbook1が変数(=ワークブック)として設定されており、
 Set book1 = Activeworkbook
によって、Activeworkbookのオブジェクトが代入されています。

それなので、このブックを閉じるのであれば
 book1.Close SaveChanges:=False
で良いはずです。

>ネットでは、workbook(book1).Close〜
>もしくはworkbook(”book1.xls”)など
workbooks(”book1.xls”).Closeは、”book1.xls”(=文字列)という名のブックを閉じる際に用いますし、workbooks(book1).Closeの場合は、book1が文字列変数等であると考えられます。
例えば
 book1 = ”book1.xls”
 workbooks(book1).Close
で、一行目と同じ意味になりますよね。

変数とその意味するところを理解して使い分けることが必要です。
というか、意味を決めているのはそのコードを作成している質問者様なのですが。

こんにちは

>Set〜のコードは、取得できていないのでしょうか?
ご提示のコードではbook1が変数(=ワークブック)として設定されており、
 Set book1 = Activeworkbook
によって、Activeworkbookのオブジェクトが代入されています。

それなので、このブックを閉じるのであれば
 book1.Close SaveChanges:=False
で良いはずです。

>ネットでは、workbook(book1).Close〜
>もしくはworkbook(”book1.xls”)など
workbooks(”book1.xls”).Closeは、”book1.xls”(=文字列)という名のブックを閉じる際に用います...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング