オンライン講座 質問と回答

無料・有料のオンライン講座で寄せられたメッセージの一部を紹介致します。

[11524]ORDER BYの紹介

2019-07-23 08:33:50 受講生さんからの投稿です。

SQL を利用したデータベース利用がここまで強力とは驚きました。
今の私は、魔法使いが最強の呪文を覚えたときと同じ心境です。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10720]文字列操作の一例を紹介

2018-12-01 14:17:45 田中 宏明さんからの投稿です。

マクロを実行しながら、ログ出力することに成功しました。
出力結果とコードの一部です。素晴らしいです。

2018/12/01 13:37:09, [INFO] , ————— ログファイルオープン —————
2018/12/01 13:38:04, [ERROR] , エラー番号:-2147023783/種類:Unicode 文字のマッピングがターゲットのマルチバイト コード ページにありません。
2018/12/01 13:41:19, [INFO ] , —————正常終了 —————

'*************************************************************
'クラスモジュール
'logフォルダを作成してテキストファイルにログ出力
'*************************************************************
Option Explicit
'-------------------------------------------------------------
'モジュールレベル変数定義
'-------------------------------------------------------------
Private txt As TextStream

'-------------------------------------------------------------
' 名 称 : Class_Initialize
' 機 能 : コンストラクタ
' 引 数 : なし
' 戻 値 : なし
'-------------------------------------------------------------
Private Sub Class_Initialize()

    'インスタンス生成時に追記モードでログファイルオープン
    Dim logPath As String
    logPath = ThisWorkbook.path & "\log"
    
    'ログフォルダが無ければ作成
    Dim objFSO As FileSystemObject
    Set objFSO = New FileSystemObject
    If objFSO.folderexists(folderspec:=logPath) = False Then
        objFSO.createfolder logPath
    End If

    Dim filePath   As String
    filePath = logPath & "\" & "VBA_" & Format(Date, "yyyymmdd") & ".log"

    'TextStreamの追記モードでオープン
    Set txt = objFSO.OpenTextFile(Filename:=filePath, IOMode:=ForAppending, Create:=True, _
        Format:=TristateUseDefault)
    
    Set objFSO = Nothing

End Sub

'-------------------------------------------------------------
' 名 称 : Class_Terminate
' 機 能 : デストラクタ
' 引 数 : なし
' 戻 値 : なし
'-------------------------------------------------------------
Private Sub Class_Terminate()
    'インスタンス解放時ログファイルクローズ
    txt.Close
    Set txt = Nothing
End Sub

'-------------------------------------------------------------
' 名 称 : writeLog
' 機 能 : ログ出力
' 引 数 : level     :ログレベル("INFO " or "ERROR")
'          message   :メッセージ
' 戻 値 : なし
'-------------------------------------------------------------
Public Sub writeLog(ByVal level As String, _
                    ByVal message As String)
    'ログ作成
    Dim buf As String
    buf = Format(Now, "yyyy/mm/dd hh:nn:ss") '時間
    buf = buf & ", [" & level & "] "         'ログレベル
    buf = buf & ", " & message               'メッセージ
    '出力
    txt.WriteLine buf
End Sub 

[ 続きを読む ]  返信件数:9件  [ 動画を見る] 

[10598]テキストファイルの操作について

2018-09-27 19:56:45 受講生さんからの投稿です。

外部連携講座は、かなり奥が深いですが、この
テキストファイルの操作は、急にレベルが高く
なったように感じたので、理解を深めるまでに
相当な時間がかかりました。

今では、FileSystemObject TextStreamを使い、
csvファイル(カンマで区切られたデータ)を
読み込んだ直後に配列に代入し、高速にデータ
処理できるまになりました。

達人養成塾に入って、2年半での成果報告です。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10310] 「クラス」と「インスタンス」の生成を体験

2018-08-04 18:51:05 田中 宏明さんからの投稿です。

クラス(設計図)を使って、インスタンス(オブジェクトの実体)を生成することを体験することで、Excelから外の世界への広がる「外部連携」の入り口がしっかり見えた気がします。
最近になって、クラスモジュールを使うことのメリットやデメリットが理解できるようになりましたが、ここまでの道のりに約2年半近くかかりました。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10117]フォルダ内のサブフォルダとファイルをリストアップ

2018-06-13 23:58:26 こんちゃんさんからの投稿です。

FSO 概念を理解するのに時間かかりましたが、
非常に強力!
紙で管理していた帳票がエクセルだけでできちゃいました。(^^)v
フォルダにあるファイルを指定し、処理して保存する。
保存したら処理日を別のシートに入力。
まさにペーパーレス化!便利になります化!
管理も非常に楽になりました♪
ここまでできるのがなにより楽しいです!♪

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10084]フォルダ内のサブフォルダとファイルをリストアップ

2018-06-07 21:00:57 田中 宏明さんからの投稿です。

今日は、指定フォルダーから下にある全サブフォルダーを検索し、条件にヒットしたファイル(ある文字が含まれたファイル)のみを1つのフォルダーに移動させるマクロを作成できました。
for each構文 , instr関数, 動的配列, 再帰呼出 の組み合わせで実現でき、感激です。 

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[9974]テキストファイルの操作について

2018-05-14 21:48:25 受講生さんからの投稿です。

AtEndOfLine と streamについて、
動画内での説明と字幕での説明が違いますが
結局はどちらなのでしょうか。
混乱するので動画の再編集をしていただければ
有り難いかなと思いますが。

[ 続きを読む ]  返信件数:2件  [ 動画を見る] 

[9966]ファイルの操作・フォルダの操作説明

2018-05-14 00:55:23 あじろうさんからの投稿です。

いつもお世話になっております。
処理時間について教えてもらいたいことがあります。
今迄、日ごとに分けたファイルから情報をあつめて集計しようと考えてます。
FileSystemObjectのサンプルコードを参考にして書いてみたコードがあります。
“siken”ファイルに”1.xlsm”,”3.xlsm””4.xlsm”3個が存在していて有無を確認した後、あったらSheet1の”A1”の値を “syuukei”シートに書き出す処理をしてみました。
僅か3個の処理で2~3秒かかってます。コードの描き方がいけないのでしょうか?それともこのくらいはかかるものでしょうか?うまく説明できずすいません。よろしくお願いします。

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[9125]データベースとの接続と接続解除について

2017-11-15 15:04:57 田中 宏明さんからの投稿です。

小川先生
これからになりますが、SQLを使って、大量データを高速処理できるスキルを学習していきます。

> 追記ですが、複数表間でのマッチングは、AccessにデータをブチこんでSQLを発行するのが最強最速です。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[9121]データベースとの接続と接続解除について

2017-11-14 15:34:29 田中 宏明さんからの投稿です。

Access形式のデータベースからExcelシートにデータを取得できたことに感激しました。独学でこのレベルに到達することはできなかったと思います。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[9047]既存レコード内容の削除とデータリンクファイルによる接続について

2017-10-12 09:46:56 受講生さんからの投稿です。

◎「.udl をメモ帳で開いて Data Source= … 以降の部分を実際に adosample.mdb がある場所に書き換えてもつながらない」ということですね。
→【回答】ご教示いただいた通り、書き換えてみたところ、動作しました。ありがとうございます。.udlソースを直接修正すれば、動作することを確認しました。

◎db参照先は、現在どのような方法で指定していて、変更はどのような手順で行っていますでしょうか。
→【回答】実は、これからやってみようという段階です。udlソースの内容を使えば、出来る事が分かったため、本件解決です。
Excel経由で、Accessを複数人で共有するのは、あまり良くないでしょうか?

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[9031]既存レコード内容の削除とデータリンクファイルによる接続について

2017-10-11 10:13:52 受講生さんからの投稿です。

①UDLファイルを、マニュアルどおりに作成しようとしましたが、
Microsoft Jet 4.0 OLE DB Providerが見当たりません。(Office2016です)
その後のデータベース接続方法も含め、ご教示ください。

②UDLがあると、複数のエクセルから一つのAccessを参照している場合、
Accessの格納先が変わっても、UDL一か所修正すればよいから、便利という認識で相違ないでしょうか?

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[8099]データベースとの接続と接続解除について

2017-05-10 16:42:04 多和田 真也さんからの投稿です。

小川先生
ご回答ありがとうございます。ゴールデンウィークが終わって、私も仕事に追われていまして、質問したことを忘れそうになっていました。

こちらでも、検索などで調べていこうと思います。

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

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[8082]データベースとの接続と接続解除について

2017-05-06 13:38:38 多和田 真也さんからの投稿です。

小川先生
確認してみました。Excel2016も、Word 2016も、ともに32ビットでした。
ちなみに、Office365を利用しています。

PCが64ビットなので、64ビット版を探してインストールしないといけないのでしょうか?

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[8079]データベースとの接続と接続解除について

2017-05-05 12:23:55 多和田 真也さんからの投稿です。

小川先生。いつもお世話になっております。
先日、
>
> テキストP90に記載のある、データリンクプロパティ画面で、Microsoft Jet 4.0 OLE DB Providerが表示されないのですが、このような場合はどうすればよいでしょうか。
>
> 画面のスクリーンショットを添付しておりますので、ご参照いただいたうえで教えていただけましたらありがたいです。

という質問を、お問合せ画面のフォームから質問させていただきました。
———————————————————————————-

ということで、その関連でどのような調査をされたのか?をお知らせください。
それから、お使いの環境についても。
どんな環境なのか?どこまで調査されたのか?によって、回答は変わります。

———————————————————————————–

とご解答をいただきましたので、関連情報をお知らせいたします。

PC環境は、windows10の64bitマシンで、excelとaccessのバージョンは2016です。

Googleで「Microsoft Jet 4.0 OLE DB Provider」を検索し、http://qiita.com/yaju/items/86314412741deb806366

を参照したのですが、知識不足からか何をしたらよいのかよく理解できないので質問いたしました。

なお、前回の質問はスクリーンショットで画面の状態を見ていただいたうえでご判断いただいたほうが良いか、と思い、お問合せ画面のフォームから質問いたしました。(このフォームからだとファイルの添付ができないので)

他に何か判断に必要な情報があれば、お伝えいただけましたら幸いです。

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

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[7548]Wordと連携するには

2017-01-22 12:27:55 田中 宏明さんからの投稿です。

あるフォルダーに保存されたWordファイル(.doc .docx)を一括印刷するマクロを作成してみました。
MS-Officeのバージョンを気にせずに実行できるよう工夫しています。
達人養成塾に入って1年以内でこのレベルに到達してことに感謝します。

 Option Explicit
Option Base 1

Sub Word一括印刷()  'H29.1.22

    Dim seDir As String
    'Wordファイルが保存されているフォルダーを選択
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = True Then
            seDir = .SelectedItems(1)
        Else
            Exit Sub
        End If
    End With
    
    Dim FSobj As Object  'ファイルシステムオブジェクト
    Dim FSobjfolder As Object  'フォルダーオブジェクト
    Dim FSobjfile As Object  'ファイルオブジェクト
    Set FSobj = CreateObject("Scripting.FileSystemObject")
    Set FSobjfolder = FSobj.GetFolder(seDir)

    Dim cnt As Long 'カウンター
    cnt = 0
    
    Dim FName() As String 'Wordファイル名を入れる動的配列変数
    
    For Each FSobjfile In FSobjfolder.Files
        'Wordファイルが見つかったらファイル名を配列に入れる
        If Right$(FSobjfile.Name, 4) = ".doc" Or Right$(FSobjfile.Name, 5) = ".docx" Then
            cnt = cnt + 1
            ReDim Preserve FName(cnt)
            FName(cnt) = FSobjfile.Name
        End If
    Next
    
    Set FSobj = Nothing 'オブジェクトを開放
    Set FSobjfolder = Nothing 'オブジェクトを開放
    Set FSobjfile = Nothing 'オブジェクトを開放

    If cnt = 0 Then
        MsgBox "Wordファイルが見つかりません。", vbExclamation
        Exit Sub
    End If
    
    Dim wdApp As Object 'Wordアプリケーションオブジェクト
    Dim doc As Object  'Wordドキュメントオブジェクト
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True 'Wordアプリケーションを表示
    
    Application.DisplayAlerts = False
    
    For cnt = LBound(FName) To UBound(FName)
        Debug.Print FName(cnt)
        Set doc = wdApp.Documents.Open(seDir & "\" & FName(cnt))
        doc.PrintOut
        doc.Close
    Next cnt

    Application.DisplayAlerts = True
 
    wdApp.Quit 'Wordアプリケーションを終了
    Set wdApp = Nothing 'オブジェクトを開放
    Set doc = Nothing 'オブジェクトを開放
    
    MsgBox "Wordファイルの一括印刷終了", vbInformation
End Sub 

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[5622]文書中の一文を操作するには

2016-01-15 06:30:06 山田 将之さんからの投稿です。

小川先生 ありがとうございました。
ワードとパワーポイントとの連携さっそくどんどん使っていきます。
メールの処理にも応用させていきたいと思います。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5609]Office アプリケーションを操作・連携するには

2016-01-14 21:16:02 山田 将之さんからの投稿です。

オブジェクトが違うだけで基本はエクセルのときと同じなので、結構はやく習得できそうです。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5602]ORDER BYの紹介

2016-01-14 06:07:16 山田 将之さんからの投稿です。

inner join とleft join 何度も復習してマスターします。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5577]簡単なSQL を使った.mdb ファイルからデータを取得するサンプルについて

2016-01-11 16:52:19 山田 将之さんからの投稿です。

ふとこの動画を見ているときに、自分は今までと違う世界に足を踏み込んだことに気付きました。すごい技術を習得しようとしているのですね。
それを考えると、受講料は安いです。戻り値がたくさんこれからかえってくることを考えると本当に良心的です。
SQLはじめて聞きました。ぜひ習得するよう学習に励みます。
ありがとうございます。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5556]データベースとの接続と接続解除について

2016-01-11 11:13:56 山田 将之さんからの投稿です。

外部接続をすると、秘密情報が流れる心配はないのでしょうか。

[ 続きを読む ]  返信件数:5件  [ 動画を見る] 

[5551]文字列操作の一例を紹介

2016-01-10 13:47:53 山田 将之さんからの投稿です。

今までLogFileって何のことかわからなかったのですが、説明を聞いて理解できました。使い道があるんですね。とても楽しくなってきました。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5547]フォルダ内のサブフォルダとファイルをリストアップ

2016-01-10 09:51:28 山田 将之さんからの投稿です。

再帰がよくわかりませんでした。ここを何とか理解するよう頑張ります。

[ 続きを読む ]  返信件数:5件  [ 動画を見る] 

[5546]ファイルの操作・フォルダの操作説明

2016-01-10 09:23:41 山田 将之さんからの投稿です。

サンプルを抜き取って使ってたファイルとフォルダーの操作でしたが、その中身を完全に、理解していませんでした。ですので、基本からわかりやすく説明してもらい本当に助かります。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5545]外部ライブラリの参照について2

2016-01-10 07:29:31 山田 将之さんからの投稿です。

参照オブジェクトの字は大きくならないのは残念です。あと、たくさんある中で、どれが何を表しているかわからないです。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5544]外部ライブラリの参照について1

2016-01-10 07:04:57 山田 将之さんからの投稿です。

楽しくなってきました。ワードもできそうですね。もしそうだとすると、業務改善ができます。
また、エクセルで作成した学校評価アンケートを、パワーポイントでまとめれそうです。ありがとうございます。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[5315]テキストファイルの操作について

2015-11-24 16:19:48 受講生さんからの投稿です。

「Do Until txt.AtEndOfStream」で読み込むとテキストファイルの中身全て(広瀬川…..萩原朔太郎)が読み込まれますが、「Do Until txt.AtEndOfLine」にすると「広瀬川…..もとまらず。」と最後の1行が読み込まれませんが、どういった違いなのでしょうか?

 Sub ReadText2()
    Dim fs As Scripting.FileSystemObject
    Dim txt As TextStream
    Dim path As String
    Dim stEachline As String
    
    path = ThisWorkbook.path & "\fsosample\textfile1.txt"
    Set fs = New Scripting.FileSystemObject
    
    Set txt = fs.OpenTextFile(filename:=path, IOMode:=ForReading, create:=True, _
        Format:=TristateUseDefault)
    
    Do Until txt.AtEndOfStream
        stEachline = txt.ReadLine
        Debug.Print stEachline
    Loop

    txt.Close
    Set txt = Nothing
    Set fs = Nothing
End Sub 

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 


各講座ごとのメッセージを見る場合はこちら

 

まずはここから!スマホでも学べる無料動画講座

今なら先着30名限定で無料!定価4,800円の、初心者のためのエクセルマクロ動画講座。
  1. Excel 97~Excel 2016まですべて対応。動画本数20本、総再生時間2時間44分53秒
  2. PC, Mac, iPhone, iPad, Androidのお好みの環境で、いつでも好きなときに学べます。
2004年から10年間述べ3,000名以上に実施した研修の経験と実績を集約した講座です。
いますぐ無料で試してください。

トップへ