グッドデザイン賞を受賞したウォーターサーバー >>

パワーポイントでエクセルのデータをリンク貼り付けし、リアルタイムのデータ表示をしています。
しかしスライドショーを実行するとデータが自動更新しません。
ちなみにエクセルデータは随時変動し、パワーポイントでは何枚かのシートを順繰り表示させています。
よい方法はないでしょうか。ご教授よろしくお願いします。
※3/2office系カテゴリーで同内容を質問させていただいています。回答が無いもので…。

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

A 回答 (1件)

「アニメの追加」 → OLEアクションの動作 → どれかを設定し、「直前の動作と同時」にしておきます。



 スライドショー中にエクセルが自動で開きますが
(あらかじめ小さなウィンドウにしておくなどしておき、)
閉じればその後は自動で変更されます。

エクセルを完全に見えない状態にしたいときはExcelVBAとPowerPoint VBAを勉強してください。
    • good
    • 1
この回答へのお礼

大変参考になりました。苦戦した末、この方法で解決することができました。ありがとうございました。

お礼日時:2013/03/14 02:17

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

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

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

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

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

Qパワーポイントのリンク管理について

パワーポイントのリンクを一括更新したいのですが何か方法はありますでしょうか?

パワーポイントのファイル中に「XXXXXファイルを参照」という文言を複数箇所に登場させております。
その文言がリンクになっており、参照対象のファイルにとぶこととなっております。
ファイル中の箇所が複数なのでメンテナンスが大変です。

どなたかマクロや置換などで簡単に変更する方法をご存知の方はおられますでしょうか?
お手数ですがよろしくお願いいたします。

Aベストアンサー

Sub hoge()
 Dim sld As Slide
 For Each sld In ActivePresentation.Slides
  Dim hl As Hyperlink
  For Each hl In sld.Hyperlinks
   Debug.Print hl.Address
  Next
 Next
End Sub

(コピペする場合は各行頭の全角スペースを半角スペースにしてください)

このコードだと以下のような出力結果になりました。
(1) 複数のページに対応している。
(2) 1ページ内にある複数のテキストボックス全てに対応している。
(3) 1つのテキストボックス内の先頭から連続する複数のリンクに対応している。

すなわち、
1つのテキストボックスに改行で区切って複数のハイパーリンクを設定してあっても問題ないし、
改行しないで複数のハイパーリンクを設定してあっても問題ないのだが、
ハイパーリンクとハイパーリンクの間に無関係な文字(スペースを含むが改行は含まない)があると、そのテキストボックスの残りのハイパーリンクは処理してくれず、次のテキストボックスに移ってしまう。
これが PowerPoint の仕様なのかなんなのかわかりません。

Sub hoge()
 Dim sld As Slide
 For Each sld In ActivePresentation.Slides
  Dim hl As Hyperlink
  For Each hl In sld.Hyperlinks
   Debug.Print hl.Address
  Next
 Next
End Sub

(コピペする場合は各行頭の全角スペースを半角スペースにしてください)

このコードだと以下のような出力結果になりました。
(1) 複数のページに対応している。
(2) 1ページ内にある複数のテキストボックス全てに対応している。
(3) 1つのテキストボックス内の先頭から連続する複数のリンクに対...続きを読む

QExcel VBA:リンクの更新

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

Excelでセルに他のブックのリンクを貼ってある場合、
ブック起動時に『更新しますか?』と聞いてきますよね(メニューバーの編集→リンクの設定→起動時の設定で聞いてこないようにもできますが)。

(1)VBAでリンクの更新をさせるには、どのように書けばよろしいでしょうか?

(2)また、『値の更新』ボタンがグレーアウトされていてクリックできないのですが、理由(原因)は何でしょうか?

教えてください、よろしくお願いします。

Aベストアンサー

こんばんは。

(1) 特定のブックならば、Open メソッドの中の引数の、UpdateLinks を3にすればよいけれども、設定はそのままで、開いた時に操作する方法は、

たぶん、ThisWorkbook のOpenイベントに、以下のようなものを入れておけばよいと思います。
ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways

この方法はやったことがないので、確実にできるか分かりませんが。
というのは、ダイアログが先か、Openイベントが先かは、分かりません。

(2)『値の更新』ボタンがグレーアウト というのは、確か、更新元のファイルがなくなって、値だけが残っている場合だったと思います。

Qパワーポイント2007で、スライドショー中にスライドの編集をしたいので

パワーポイント2007で、スライドショー中にスライドの編集をしたいのですが。

こんにちは。あした、パワーポイント2007でスライドショーをやるんですが、みんなからの意見をパワーポイントでその場ですぐに入力し、スクリーンにプロジェクターで映したいのですが、やり方がわかりません。
スライドショーをせずに編集は普通にできるのですが、表示される領域が少ないので困っています。また、中学校ですので、ディスプレイを2つ使ったりとかはできません。

自分で調べた結果、http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1124075006 という、質問があって、その、ベストアンサーの中に、

●テキスト編集

 という項目がありました。そこに、やり方が書いてあるのですが、そのやり方で正しいのでしょうか? EnterKeyBehavior:True とか、MultiLine: Trueって、エクセルの設定ではなかったでしょうか?

このやり方について、できるだけ詳しく教えていただきたいと思います。(例えば、正しいor正しくない。など。)また、もし違うのであれば、違うやり方を教えていただきたいと思います。


図々しいと思いますが、できるだけお早めに、ご回答ください。よろしくお願いします。

パワーポイント2007で、スライドショー中にスライドの編集をしたいのですが。

こんにちは。あした、パワーポイント2007でスライドショーをやるんですが、みんなからの意見をパワーポイントでその場ですぐに入力し、スクリーンにプロジェクターで映したいのですが、やり方がわかりません。
スライドショーをせずに編集は普通にできるのですが、表示される領域が少ないので困っています。また、中学校ですので、ディスプレイを2つ使ったりとかはできません。

自分で調べた結果、http://detail.chiebukuro.yahoo.c...続きを読む

Aベストアンサー

[スライドショー]タブ→設定の[スライドショーの設定]を選択。
種類を、出席者として参照する(ウィンドウ表示)にチェック。
スライドの切り替えは、クリック時または保存済みのタイミングにして[OK]。

スライドショーを実行する。
ウィンドウ表示で実行されるので、ウィンドウサイズを適当に調整。
先頭スライドが表示されているので、[Enter]キーで次のスライドに変わる。
スライド上で右クリック→スライドの編集で、そのスライドを編集ができる。
編集後はスライドショーを再度実行すると継続される。

右クリック→全画面表示で、全画面のスライドショーに切り替えも可能。
全画面で実行中に編集したいスライドがある場合、右クリック→スライドショーの終了を指定。
ウィンドウ表示のスライドショーに戻るので、右クリック→スライドの編集で編集を行う。

以上のように、特別なことをしないでも、通常の機能を使用して行うことは可能と思います。
確認や編集が済んだら、最終的にはスライドショーの設定は、全画面表示に戻すようにしてください。
 

QExcelとPowerPointをVBAで連携させる方法

おけましておめでとうございます。
本年もよろしくお願いします。
で、本題ですが、
(Win95でExcel2000とPowerPoint2000を使用)
EXCELのデータベースの表を順々にPowerPointのテキストボックスへ
コピーして印刷するためにVBAを作成したいと思ってます。
(印刷形式がPowerPointのため)
ここには作成できるんですが、両者のVBAをどのように
連携させるかわかりません。
よろしくご教授ください。

また、PowerPointのVBAでマクロの記録を使わず、オブジェクト名
(("Text Box 1")とか)を知る方法もあわせてよろしくご教授ください。

Aベストアンサー

>オブジェクト名はVBAを使わずにパワーポイント上だけでは確認しようが無いと言うことでしょうか。

絶対できないとまでは断言できる自信はないのですが、少なくともその方法は知りません。

オブジェクト名はVBAを使えば変更することはできます。
Application.ActiveWindow.Selection.SlideRange.Shapes.Item(1).Name = "New Name 1"

だだ、この設定した名称が勝手に変更されることはないのかどうか自信がありません。少なくとも自動的に生成した「オブジェクト名」は勝手に変更されてしまいます。

Q[PowerPoint]スライドショー中のテキスト編集

PowerPointで、スライドショー中にテキストの編集を
行うということは出来ないでしょうか?

イベントで、ゲームの得点をパワーポイントを使って
表示したいと考えているのですが、得点の数字を
どのように変更したら良いか悩んでいます。

マクロなどによって数値を変化させることも
考えましたが、作り込みの時間を取れないので
断念しました。



プロジェクタに全画面で得点表示することが目的
ですので、必ずしもパワーポイントである必要は
有りません。

このようなソフトで対応可能である等の情報も
有りましたら、お教えください。

Aベストアンサー

WindowsXPであればDualDisplayでできます。
1.デスクトップで右クリック→プロパティ→設定タブ→モニタ2をクリック→「Windows desktop をこのモニタ上で移動できるようにする」にチェック。
2.パワポで、スライドショー→スライドショーの設定→表示で外部モニタを選ぶ。

こうしてPPTのスライドショーを実行すると、PC画面にはスライドが出ていて、プロジェクタではスライドショーが表示されます。PC画面のスライドに加えた変更(例えば文字の入力)はリアルタイムでプロジェクタに反映されます。

Qエクセルで定期的(30分おき)にマクロを実行させる方法は?

エクセルにて刻一刻変る外部データ(株価)を表示させています。それを自動で30分置きにデータ蓄積させる方法はありませんか?

現在は自分で作ったキーボードマクロで 時計を見ながらボタンを押し、データを取り込ん出る始末です。

その簡単マクロに「30分置きに実行させる」と云う記述を付け足す程度で自動実行させる事は可能でしょうか? 
当方キーボードマクロでの自動書き込みしか出来ない素人ですが、少々複雑な物であっても頑張ってみるつもりですので、どなたかご教授下さい。

Aベストアンサー

えーー。。実際に使うなら、zap35 さんのように、OnTime で実行したマクロ
の中で再度 OnTime を登録する方が良いと思います。

この方式だと、OnTime で登録されるのは常に一つだから管理し易いです。
これに未実行の予約を破棄できる仕組みを組み込めばベストだと思います。

今更こんな事言うのは、#6 の大げさなコードを見て、「また、やっちまった...」
と反省しているからです。が、#6 をアップしてしまった以上、それなりに
まとめておきました。こちらは、一括登録方式です。

コードのままだと、午前10時~午後6時まで30分間隔で Macro1 を実行します。
変更点は、

 ・ブッククローズをトラップした
 ・進捗状況をステータスバーに表示するようにした
 ・その他しょうもないこと

です。

このままコピペで使えると思いますが、試される場合は、MACRO1 はご自分の
用途に合わせて適切に修正して下さい。


Option Explicit

Dim mcolTask As Collection

Sub 実行予約()

  Dim i      As Date
  Dim strProcName As String
  Dim datBigin  As Date
  Dim datEnd   As Date
  Dim datInterval As Date
  Dim datTimeout As Date
  Dim blnJustTime As Boolean

  ' Setting-------------------------------------------------------

  datBigin = TimeValue("10:00:00")  ' 開始時刻
  datEnd = TimeValue("18:00:00")   ' 終了時刻
  datInterval = TimeValue("00:30:00") ' 実行間隔(少なくとも数秒以上で)
  datTimeout = TimeValue("00:02:00") ' 実行待機タイムアウト
  blnJustTime = True         ' datInterval で丸めるか
  strProcName = "MACRO1"       ' 実行するマクロ名

  '---------------------------------------------------------------

  ' 既に実行予約されているか確認
  If mcolTask Is Nothing Then

    ' 日付シリアル値を加算
    datBigin = datBigin + Date
    datEnd = datEnd + Date
    ' 終了時刻が開始時刻より小さければ日をまたぐので補正
    If datEnd < datBigin Then datEnd = datEnd + 1
    ' 現在時刻が既に終了時刻を過ぎている場合
    If datEnd < Now() Then
      MsgBox "終了時刻を過ぎているため予約できません。", vbCritical, "終了"
      Exit Sub
    End If
    ' 現在時刻が開始時刻を過ぎていれば補正
    If datBigin < Now() Then
      ' 開始時刻を datInterval で指定された値で丸めるか
      If blnJustTime Then
        datBigin = Application.Floor(Now() + datInterval, datInterval)
      Else
        datBigin = Now() + datInterval
      End If
    End If

    ' 初期化
    Set mcolTask = New Collection

    ' メイン部分
    For i = datBigin To datEnd Step datInterval
      ' 後から取り消せるようにコレクションに退避
      mcolTask.Add CStr(i) & "," & strProcName
      ' Application.Ontime で実行予約を行う
      Application.OnTime EarliestTime:=i, _
                Procedure:=strProcName, _
                LatestTime:=i + datTimeout, _
                Schedule:=True
    Next i
  Else
    MsgBox "既に実行中です", vbInformation
  End If

End Sub

Sub 未実行予約強制解除()
 
  Dim i  As Long
  Dim vntS As Variant
 
  On Error Resume Next
  Application.StatusBar = "タスク破棄中... "
  For i = 1 To mcolTask.Count
    vntS = Split(mcolTask.Item(i), ",")
    Application.OnTime CDate(vntS(0)), CStr(vntS(1)), Schedule:=False
  Next i
  Application.StatusBar = ""
  Set mcolTask = Nothing

End Sub

' タスク管理用
Private Sub RemoveTask()
  
  On Error Resume Next
  mcolTask.Remove (1)
  Application.StatusBar = "待機中のタスク... " & mcolTask.Count
  DoEvents
  Beep
  If mcolTask.Count = 0 Then
    Application.StatusBar = ""
    Set mcolTask = Nothing
  End If

End Sub

Sub Auto_Close()

  Dim intRes As Integer
  If Not mcolTask Is Nothing Then
    intRes = MsgBox( _
        Prompt:="待機中のタスクが " & mcolTask.Count & " 件あります。" & vbLf _
           & "破棄して終了しますか?", _
        Buttons:=vbOKCancel + vbDefaultButton2 + vbExclamation, _
        Title:="問い合わせ")
    If intRes = vbOK Then
      Call 未実行予約強制解除
    Else
      ' ブッククローズをキャンセル
      Application.ExecuteExcel4Macro ("Halt(True)")
    End If
  End If

End Sub

' 呼び出すマクロ--> Application.Ontime のマクロ名と一致させて下さい
Sub MACRO1()

  Dim lngRow As Long
  With ThisWorkbook.Sheets("Sheet1")
    lngRow = .Range("V65536").End(xlUp).Offset(1).Row
    .Cells(lngRow, "V").Resize(1, 3).Value = .Range("Q12:S12").Value
    .Cells(lngRow, "Y").Value = Now()
  End With

  ' ご自分のマクロの最後に次の一行を追加しておいて下さい
  Call RemoveTask

End Sub

えーー。。実際に使うなら、zap35 さんのように、OnTime で実行したマクロ
の中で再度 OnTime を登録する方が良いと思います。

この方式だと、OnTime で登録されるのは常に一つだから管理し易いです。
これに未実行の予約を破棄できる仕組みを組み込めばベストだと思います。

今更こんな事言うのは、#6 の大げさなコードを見て、「また、やっちまった...」
と反省しているからです。が、#6 をアップしてしまった以上、それなりに
まとめておきました。こちらは、一括登録方式です。

コードのままだと...続きを読む

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QPowerPointのプレゼン画面右下に時計を表示させたい

講演を聴きに行ったときに,PowerPointのプレゼンテーション画面が表示されているときに,画面右下に,小さなアップル(りんごのかたち?)のアナログ時計が出されているのを見ました.
プレゼン中に時間がわかってとても便利だと思って,自分も使いたいのですが,どのようなソフトウェアを使って出しているのでしょうか?
(PowerPointのアドインのような気がします.)

ご存じでしたらぜひ教えてください.よろしくお願いします.

Aベストアンサー

アップルのアナログ時計は分かりませんが、Vectorなどに時計やタイマーのソフトはいろいろとあるようです。
適用できるOSやライブラリ環境にも注意してください。
http://www.vector.co.jp/vpack/filearea/win/personal/tokei/
http://suzukima.hp.infoseek.co.jp/soft/pretimer.html
http://my.reset.jp/~triton/Pt.htm

蛇足
プレゼンの時間厳守も大事なことですが、発表している最中に、
どれだけの人が前を見て、集中して聞いているかというのも、
発表の善し悪しを評価する尺度です。
下を向いていたり、目をつぶっているような人が殆どいないプレゼンは、
興味をそそる内容も多く見受けられ、時間と共に重要なことと思います。
 

Qパワーポイントの自動的な実行

Windows2000、PowerPoint97を使用しています。

コンピュータが起動したら、自動的に作成したパワーポイントの
スライドショーの実行がされるようにしたいのですが、
方法がわかりません。

パワーポイントを作成し、保存したファイルをスタートアップに
登録してみましたが、その状態では、コンピュータの起動後、
ファイルは開きますが、編集状態のままです。

できれば具体的な方法を教えていただけたらありがたいです。

どうぞ宜しくお願いいたします。

Aベストアンサー

ある事情で、回答がずいぶん遅くなってしまいました。
すみません

> 最後のスライドの後は、黒い画面でクリックしないとデスクトップ画面に
> 戻れません。

元原稿を開いてみてください。
[ツール]-[オプション] の [表示] タブで、"最後に黒いタブを表示する" が
選択されているはずですので、このチェックを外して、改めて PPS 形式で
保存してください。

QApplication.OnTime が動作するタイミング(vba)

まず10秒たってからtest2222と表示させて、次にtestと表示させるプログラムを以下のように作成したのですが、なぜか先にtestが表示されて、次にtest2222が表示されます。
なぜなのでしょうか?
分かる方がいれば教えてください。
よろしくお願いします。

Sub aa()

Application.OnTime Now + TimeValue("00:00:10"), "kara"

MsgBox "test"

End Sub

Sub kara()
MsgBox "test22222"
End Sub

Aベストアンサー

OnTime は実行を予約するだけで直ぐに次の行に移るようです。
実行を遅らせたいなら Timer を使えば良いかと思います。


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

人気Q&Aランキング