Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


204 / 3841 ページ ←次へ | 前へ→

【78387】ソースコードの残骸その1
発言    - 16/8/7(日) 14:00 -

引用なし
パスワード
   Dim objIFRAME As Object
Set objIFRAME = Doc.getElementsByTagName("iframe")

Debug.Print TypeName(objIFRAME(0))

Dim oHTMLIFrame As HTMLFrameBase

Dim n As Integer
For n = 0 To objIFRAME.Length - 1
  Set oHTMLIFrame = objIFRAME(n)
Next n
  
' ヤ〇〇〇をクリック
  For Each o In CreateObject("Shell.Application").Windows
    If TypeName(o.document) = "HTMLDocument" Then
      If InStr(o.document.Title, "検索条件設定") > 0 Then
        Set Ie = o
        Set Doc = Ie.document
        Exit For
      End If
    End If
  Next o
・ツリー全体表示

【78386】Re:Iframe内のリンクを指定出来ない
発言    - 16/8/7(日) 13:45 -

引用なし
パスワード
   >それで、いま手元にあるコードは?

嗚呼、先ほどのソースの中身が一部消えている(汗)
iframe内のアドレスのbodyの中に<a>タグがあります。
そのタグを選択したいんです。で、
ここに、質問を書き込みさせていただいた後に
次のような記述を発見

------------------
iframe src="***"
のように、ソースHTMLファイルが指定されている場合、
アクセスが拒否されるようです。
-------------------

だから、出来ないんでしょうか?

とりあえず、いろいろ試したコードの残骸を
以下に記載しておきたかったのですが、
ERROR:本文に禁止語句が含まれています。
とでて、何がダメなのか‥。
コピペで貼り付けたからどこで引っかかっているのかわかりません。
コードの残骸は、そのうち再チャレンジします。

・ツリー全体表示

【78385】Re:Iframe内のリンクを指定出来ない
発言  γ  - 16/8/7(日) 12:26 -

引用なし
パスワード
   ありがとうございます。
それで、いま手元にあるコードは?

また、「vba ie インラインフレーム」などとして
情報を探しているのでしょうか?
・ツリー全体表示

【78384】Re:Iframe内のリンクを指定出来ない
発言    - 16/8/7(日) 12:03 -

引用なし
パスワード
   >そう言われても困ります。
>いろいろうやったのなら、現状のコードを示して、
>どこがうまくいかない、ということでヘルプを求めてはどうでしょうか。

ですよね〜(苦笑) ▼γ さん:

実際のURLは公開できないデータが含まれていますので抜粋で
下記のようなソースです。

<html>
<head>***</head>
<body>
<iframe name="search" src="アドレスです">
</iframe>
</body>
</html>

iframe内のアドレス内容
<html>
<head>***</head>
<body>

</body>
</html>
・ツリー全体表示

【78383】Re:Iframe内のリンクを指定出来ない
発言  γ  - 16/8/7(日) 11:15 -

引用なし
パスワード
   ▼や さん:
>IEのリンクもクリックできるように組めましたが
>IFRAME内のリンクが操作できません。

>自分なりにいろいろやって、何が試して何が試せていないか
>訳がわからなくなってます。

そう言われても困ります。
いろいろうやったのなら、現状のコードを示して、
どこがうまくいかない、ということでヘルプを求めてはどうでしょうか。

具体的には、
・対象となるサイトのURL
・現在トライされているコード
を示してみてはどうですか?
コメントがもらえるかもしれません。
・ツリー全体表示

【78382】Iframe内のリンクを指定出来ない
質問    - 16/8/6(土) 17:15 -

引用なし
パスワード
   初めて質問させていただきます。

VBAにて、IEの操作は何となくわかったレベルで、
IEのリンクもクリックできるように組めましたが
IFRAME内のリンクが操作できません。
自分なりにいろいろやって、何が試して何が試せていないか
訳がわからなくなってます。
こんな私にどなたかアドバイスを下さい。
・ツリー全体表示

【78381】Re:すみません、説明不足でした
お礼  acs  - 16/7/30(土) 13:40 -

引用なし
パスワード
   お礼の返信が遅くなり申し訳ありませんでした。

エクセルのバージョンですか…同じ2010ですが
バージョンが違うだけで、そうなっちゃうんですね。

これまでの親切な回答、ありがとうございました。
・ツリー全体表示

【78380】Re:隣の列と同じ行までコピーするについて
お礼  [名前なし]  - 16/7/29(金) 10:54 -

引用なし
パスワード
   βさんのSample方式で試したらうまくできました。
ありがとうございます。
・ツリー全体表示

【78379】Re:隣の列と同じ行までコピーするについて
発言  β  - 16/7/29(金) 9:58 -

引用なし
パスワード
   ▼[名前なし] さん:

ちなみに、私の Sample方式でやれば以下になりますけど、そういった形にしていますか?

Sub Sample3()
  With Range("N12", Range("N" & Rows.Count).End(xlUp))
    .EntireRow.Columns("C").Formula = Range("C12").Formula
    .EntireRow.Columns("L").Formula = Range("L12").Formula
    .EntireRow.Columns("M").Formula = Range("M12").Formula
  End With
End Sub
・ツリー全体表示

【78378】Re:隣の列と同じ行までコピーするについて
発言  β  - 16/7/29(金) 9:50 -

引用なし
パスワード
   ▼[名前なし] さん:
>お二人のマクロを試したんですが1行しかコピーできませんでした。

その、試したコードをそのままアップしてください。
・ツリー全体表示

【78377】Re:隣の列と同じ行までコピーするについて
質問  [名前なし]  - 16/7/29(金) 9:25 -

引用なし
パスワード
   お二人のマクロを試したんですが1行しかコピーできませんでした。
複数行の時は、最終行までコピーと1行の時は1行まで問題なくコピーできればと思ったんですが

下記がもともとのマクロです。
Range("C12:C12").AutoFill Destination:=Range("C12:C" & Range("N12").End(xlDown).Row())
Range("L12:L12").AutoFill Destination:=Range("L12:L" & Range("N12").End(xlDown).Row())
Range("M12:M12").AutoFill Destination:=Range("M12:M" & Range("N12").End(xlDown).Row())

あと、「C12」、「L12」、「M12」にはそれぞれ数式が記入してます。
説明不足で済みませんでした。
・ツリー全体表示

【78376】Re:隣の列と同じ行までコピーするについて
発言  β  - 16/7/28(木) 23:32 -

引用なし
パスワード
   ▼[名前なし] さん:

A1の書式も含めてコピーなら

Sub Sample2()
  Range("A1").Copy Range("B1", Range("B" & Rows.Count).End(xlUp)).Offset(, -1)
End Sub
・ツリー全体表示

【78375】Re:隣の列と同じ行までコピーするについて
発言  β  - 16/7/28(木) 23:29 -

引用なし
パスワード
   ▼[名前なし] さん:

データが1行しかない場合も想定すると、xlDownではなく
マナさん回答のように、xlUp を使います。
xlUpも、データのありようによっては万能ではありませんが、
xlDownより、確実度合が 高いと思います。

ところで、A1の中身が値なのか数式なのかわかりませんけど
以下の方法で、いずれでもカバーできると思います。

Sub Sample()
  Range("B1", Range("B" & Rows.Count).End(xlUp)).Offset(, -1).Formula = Range("A1").Formula
End Sub
・ツリー全体表示

【78374】Re:隣の列と同じ行までコピーするについて
発言  マナ  - 16/7/28(木) 20:34 -

引用なし
パスワード
   ▼[名前なし] さん:

もっと簡単にできそうで、できませんでした

Sub test()
  Dim n As Long
  
  With Range("a1")
    n = Range(.Cells, Range("B" & Rows.Count).End(xlUp)).Rows.Count
    .Resize(n).Value = .Value
  End With

End Sub
・ツリー全体表示

【78373】Re:すみません、説明不足でした
発言  β  - 16/7/28(木) 18:28 -

引用なし
パスワード
   ▼acs さん:

> これはVBAの話ではなくOSの問題なんでしょうか?

詳しくないのですが、OSの問題ではなく、ましてやVBAの問題でもなく
エクセルのバージョンによる仕様の違いなのではないでしょうか?
・ツリー全体表示

【78372】隣の列と同じ行までコピーするについて
質問  [名前なし]  - 16/7/28(木) 14:52 -

引用なし
パスワード
   .Range("A1:A1").AutoFill Destination:=Range("A1:A" & Range("B1").End(xlDown).Row()) 'Sheet1の列「A1」を列「B1」と同じ行までコピーと貼り付けをする。

複数行なら問題なくマクロが動くんですが、1行の場合一番下までマクロが動きます。
1行の場合も問題なくマクロが動くようにしたいのですが、どうすればいいですか?
・ツリー全体表示

【78371】Re:すみません、説明不足でした
質問  acs  - 16/7/28(木) 12:00 -

引用なし
パスワード
   Win7,2010でも正常に動作がすることが確認できました。

ありがとうございました。

Win7,2010

Win10,2010

での画像サイズの微妙な違いですが、

実際の画像貼り付けはA1:A8のセルが結合されている部分に貼りつけているのですが

Win10,2010で作成するとセルの高さが1行が39ピクセルなのですが

win7,2010で同じファイルを開くと何故か49ピクセルになっていました。

これはVBAの話ではなくOSの問題なんでしょうか?

ちなみにWin7はネットに繋がっていないのでバグの修正はなっていません
・ツリー全体表示

【78370】Re:すみません、説明不足でした
お礼  acs  - 16/7/28(木) 0:47 -

引用なし
パスワード
   β さん、返答ありがとうごさいます。

明日、会社に行ったら試してみたいと思います。

頼りっきりなので少し自分なりに考え、ダメそうな時
またお願いいたします。
・ツリー全体表示

【78369】Re:すみません、説明不足でした
発言  β  - 16/7/27(水) 19:05 -

引用なし
パスワード
   ▼acs さん:

>(Win7,2010)では前写真は削除されませんでした。

こちらのWin7+xl2010では全く問題なく処理できています。
なお、VBAでは A1 にある画像 という指定ができません。
なので、コードを見てもらえればわかるとおり、シート上の画像を全て撮りだし
その画像の左上隅がA1内にあるものを(全て)削除しています。
これで削除できないということは
・左上隅がA1内にない。
・それが画像(Picture)ではなく別のもの(たとえば四角形のシェープ)
いずれかでしょうねぇ。


>A1の縦のサイズに合わせて、縦横比固定というのが良さそうです。

.Width = .Width * 0.3

これを

.Height = Target.Height

で、どうぞ。
・ツリー全体表示

【78368】Re:すみません、説明不足でした
質問  acs  - 16/7/27(水) 17:32 -

引用なし
パスワード
   β さん

ご回答いただきありがとうございました。


早速、試したところ(Win10,2010)では良好でしたが。
(Win7,2010)では前写真は削除されませんでした。
詳しいver14.0,4760,1000(32bit)

なぜでしょうか?

さらに追加なのですが、写真の大きさによって縮尺倍率が固定だと、
変になってしまいますのでA1の縦のサイズに合わせて、縦横比固定
というのが良さそうです。

あまり急ぎませんので、よろしくお願いいたします
・ツリー全体表示

204 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free