Excel VBA 質問スレ Part65at TECH
Excel VBA 質問スレ Part65 - 暇つぶし2ch699:デフォルトの名無しさん
20/04/28 06:23:10.14 fDIatR4a0.net
最近csvを開くのがはやってるみたいだけど、拡張子をtxtに変えて開き直すといいよ

700:デフォルトの名無しさん (ワッチョイ 048f-1Gce)
20/04/28 08:10:33 uR1kyCkX0.net
>>671
ぜ・ん・ぶ

701:デフォルトの名無しさん (スッップ Sd70-bbQE)
20/04/28 08:27:27 F6rfqhbJd.net
>>685
速度アップの為にあえて使うのはVariant配列。

配列にすることに全く違和感が無いので、"あえて"使うことが少ない。
配列にするのに自然なことがたくさんあるし、普通に使ってる。

702:667 (ワッチョイ 2c7f-So6t)
20/04/28 13:36:09 1XDByXps0.net
ありがとうございました。
できました。

703:デフォルトの名無しさん (ワッチョイ 7349-xf6K)
20/04/28 13:57:24 0tfnjkqK0.net
いえいえ

704:デフォルトの名無しさん (ブーイモ MM5e-43Dx)
20/04/28 17:53:56 YPs9lugpM.net
Sub テキスト抽出()
  ChDir "c:\tmp"
  f = Dir("*.txt")
  c = 1
  Do While f <> ""
    Open f For Input As #1
        Line Input As #1,s
    s = "s"
    r = 1
    Do While Not EOF(1) And s <> ""
      Line Input #1, s
If s <> "" Then Cells(r, c) = Split(s, vbTab)(5)
    r = r + 1
    Loop
    Close #1
    f = Dir
    c = c + 1
  Loop
End Sub

705:デフォルトの名無しさん (ブーイモ MM5e-43Dx)
20/04/28 18:04:37 YPs9lugpM.net
ここで教えて頂いた>>704の「指定Path内の全txtデータのF列2行目から下に数値が続く限りシートに全部抽出する」コードのお陰で憑き物が取れて運用してるのですが
たまに画像の様な他の列に行がはみ出したデータがあると

実行時エラー'9':
インデックスが有効範囲にありません
で止まりますが

これを「他の列がどうだろうがtxt内のF2から下に数値が続く限り抽出」
に改良するのは難易度高いですか?
というかコードで可能でしょうか
入門編の本には載って無く数字変えたりwhileの位置変えたりしてますが簡単にいくはずもなく
参考になるサイトなどありましたら教えて頂けませんでしょうか

↓こんなデータが混じってるとエラーで止まります
URLリンク(i.imgur.com)

706:デフォルトの名無しさん (アウアウウー Saab-/zYc)
20/04/28 18:19:12 uYkVg/g/a.net
>>704
まんなかへんのdo while の後ろはかっこをつけたほうがいいよ
判定の対応がわかりにくいので

707:デフォルトの名無しさん (ワッチョイ 7a4b-R0M4)
20/04/28 18:35:05 yXtY+D7s0.net
>>690
元々有名な人なんだね。
投稿動画多くてあれこれクリックしてるうちにどんどん登録者数が伸びてったからビックリした。
最初見た時は5000ぐらいだったのに、さてどこまで伸びるかな。

708:デフォルトの名無しさん
20/04/28 19:06:29.99 fDIatR4a0.net
>>705
>If s <> "" Then Cells(r, c) = Split(s, vbTab)(5)
この行、最後に(5)ってついてるでしょ
読み込んだデータに5+1番目(0スタートだから+1)の要素が無かったら、どうなると思う?
ここは、splitの結果を一旦配列変数に受けて、配列の大きさを確認する判定をいれるといいよ
実を言えば、s<>"" の判定も不要だったりもする

709:デフォルトの名無しさん (ワッチョイ 048f-1Gce)
20/04/28 19:48:07 uR1kyCkX0.net
都道府県別の7日移動平均線を出すグラフ組めないかなあと
思って、「都道府県別の日々新規感染者数」を探したけど見つからん…。

なんで役人は pdf にしたがるんだろう。

710:デフォルトの名無しさん (ブーイモ MMed-43Dx)
20/04/28 20:13:54 ZPYYxv13M.net
>>708
正直ほとんどさっぱりわからないです。
が、ありがとうございます。そこらへんをいじればなんとかしろなりそうってことですかね。
まだ変数の使い方もよくわかってないのでsplit関数で検索して集中的に勉強していじれるようにがんばります。

711:デフォルトの名無しさん
20/04/28 21:00:00.12 CHpsAleC0.net
>>707
VBAはハードル低くて
エクセルが実用的だから
ユーザが多いんだろう

712:デフォルトの名無しさん (ワッチョイ 4c2c-iUOt)
20/04/28 22:51:18 7QVY/xgO0.net
データは、PDF じゃなくて、アプリで処理しやすいように、
同じ場所に、CSV ファイルも置いておくのが基本!

役人は、データ処理の素人w

713:デフォルトの名無しさん
20/04/28 23:02:38.82 IT0hJXXxM.net
EOF関数?
なんじゃこりゃ

714:デフォルトの名無しさん
20/04/28 23:21:24.84 7mVXavmj0.net
>>709
各都道府県毎にオープンデータでCSV配布してるのに何言ってんだ?

715:デフォルトの名無しさん (ワッチョイ e709-LlFz)
20/04/29 01:03:36 j7HdUAEO0.net
VBAから参照設定をせずにoutlookを操作しようとしていますが、
「Set mailItemObj = oApp.CreateItem(oApp.olMailItem)」のところで、
「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」と
エラーが出てしまいます。どうすれば解決できますでしょうか。。。

Sub sendmail_sample1()
Dim oApp 'As NEW Outlook.Application OutlookのApplication
Dim myNameSpace 'As Outlook.NameSpace
Dim myFolder
Set oApp = CreateObject("Outlook.Application") 'VBAで参照設定をした場合は不要
Set myNameSpace = oApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(9)
'---コード1|outlookを起動する
Dim toaddress As String '変数設定:To宛先
Dim subject As String '変数設定:件名
Dim mailItemObj 'Outlookで使用するオブジェクト生成
'---コード2|差出人、本文、署名を取得する---
toaddress = Range("B2").Value 'To宛先
subject = Range("B5").Value '件名
'---コード3|メールを作成して、差出人、本文、署名を入れ込む---
Set mailItemObj = oApp.CreateItem(oApp.olMailItem) '★★★ここでエラー
mailItemObj.BodyFormat = 3 'リッチテキストに変更
mailItemObj.To = toaddress 'to宛先をセット
mailItemObj.subject = subject '件名をセット
'---コード7|outlookを閉じる(オブジェクトの解放)---
Set oApp = Nothing
Set mailItemObj = Nothing
End Sub

716:デフォルトの名無しさん (ワッチョイ c7ce-ts7H)
20/04/29 01:10:43 ICnUrfUx0.net
>>715
こうかな?
Set mailItemObj = oApp.CreateItem(olMailItem)

717:デフォルトの名無しさん (ブーイモ MM2b-EVni)
20/04/29 01:34:35 L1oMckOiM.net
配列変数難しすぎて笑える

718:デフォルトの名無しさん (ワッチョイ e709-LlFz)
20/04/29 01:35:24 j7HdUAEO0.net
>>716
レスありがとうございます。
「変数が定義されていません」エラーが出てしまいます・・・

719:デフォルトの名無しさん (ワッチョイ e709-LlFz)
20/04/29 01:40:00 j7HdUAEO0.net
>>715です。自己解決いたしました。
olMailItemを値指定でゼロ(0)にしたらできました。。。
謎ですが。。。ありがとうございました。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch