• ベストアンサー

セルの自動コピーはできますか?

ブラウザのSleipnirには、クリップボードにアドレスがコピーされたときに、そのページを開くというオプションがあります。 その機能を使い、予めエクセルに入れておいたHPをスライドショーのように表示させたいと思っています。 そこで、A1・B1・C1…のように、セルを30秒毎に自動でコピーするような機能をエクセルで作ることは可能でしょうか。 あるいは、ほかの機能を用いて行うことはできないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

クリップボードの監視機能だと、どんどん新しいタブが開いてしまうので、 Sleipnir API を使った方がいいかもね。(設定で何とかなる?) Excel VBA + Sleipnir 2.8.5 だとこんな感じかと。 なお、ソース中 http で始まるアドレスの部分がバケる都合、 変な書き方をしてる部分があります。 ' // 標準モジュール Private Declare Sub Sleep Lib "kernel32.dll" ( _     ByVal dwMilliseconds As Long) Private Declare Function timeGetTime Lib "winmm.dll" () As Long Sub sample()      ' 読み込みインターバル 30秒   Const LOAD_INTERVAL As Long = 30      ' セル以外が選択されている場合は終了   If Not TypeOf Selection Is Range Then Exit Sub     On Error GoTo Err_     Dim pnir  As Object   Dim url  As String   Dim wndID As Long   Dim r   As Range   Dim t   As Long      Set pnir = CreateObject("Sleipnir.API")   For Each r In Selection.Cells     url = r.Text     If LCase$(url) Like "ht" & "tp://*" Then       If pnir.GetIndex(wndID) < 0 Then         wndID = pnir.NewWindow(url, True)       Else         pnir.ActiveIndex = pnir.GetIndex(wndID)         pnir.Navigate wndID, url       End If       t = timeGetTime() + LOAD_INTERVAL * 1000       While t > timeGetTime()         DoEvents         Call Sleep(100&)       Wend     End If   Next    Bye_:   Set pnir = Nothing   Exit Sub Err_:   MsgBox Err.Description, vbCritical   Resume Bye_ End Sub

noname#122225
質問者

お礼

早速のご回答ありがとうございます。 喜んで実行してみたのですが、「ActiveXコンポーネントはオブジェクトを作成できません」と表示され、動きませんでした。 ActiveXの実行は許可しているのですが、ほかにどんなどんな原因が考えられるのでしょうか。 検索はしてみたのですが、それらしいものは見つからずお手上げ状態です。

その他の回答 (2)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

Sleipnir API リファレンス: --- Sleipnir インストールフォルダ\documment\Sleipnir-API.txt によれば、 スクリプトを使用するには「Sleipnir オプション|スクリプトによる クライアントの操作を許可する」のチェックを有効にしてください。 このオプションはデフォルトでは無効になっています。 ・・・とあります。この Sleipnir の設定後、URL が記入されたセルを いくつか選択し、マクロを試してみてください。 なお、回答者としては環境を提示していただいた方が助かります。 --- OS, IE, Excel, Sleipnir等

noname#122225
質問者

お礼

てっきり、OSかExcelの問題だと思い四苦八苦していました。 お恥ずかしい… マクロは思ったとおりの動作をしていて感激です。ありがとうございました。

  • iekjqo
  • ベストアンサー率19% (7/36)
回答No.1

Sleipnirユーザではない為確実とは言えませんが、Sleipnirのウェブサイトを見る限りVBAを使えるようなので、エクセルVBAで全て実現可能と思われます。

関連するQ&A