Quantcast
Viewing all 2078 articles
Browse latest View live

「ChatWork Café 大阪Vol.1」にユーザーコミュニティ初心者が参加して刺激を受けまくった話

Image may be NSFW.
Clik here to view.
ChatWorkCafeロゴ

ChatWork Caféとは

チャットワークユーザーが集まり、チャットワークについて主体的にかつ楽しく学び、共有するためのチャットワークユーザーによるコミュニティ「ChatWork Café」。

これまで東京、北海道、瀬戸内と全国3箇所で開催、2018年9月14日に大阪初上陸!「ChatWork Café 大阪Vol.1」が開催されました!

当ブログの運営者であるタカハシノリアキさん(@ntakahashi0505))が登壇されるということでお誘いを受け、ChatWorkに触れてから約2ヶ月程の超初心者、私テラド(@terashin1226)も思い切って参加してきました!

参加者のみなさんの熱い想いとアイデア光るチャットワーク活用方法に感動しっぱなしの時間を過ごしました。

そんな超熱いイベント「ChatWork Café大阪Vol.1」の参加レポートをお届けします。

タカハシさんがTogetterもまとめてくださっていますので、こちらもぜひご覧ください!

Image may be NSFW.
Clik here to view.
ChatWork Café大阪 Vol.1
\ChatWork Caféが大阪へやってきた!!/ChatWork Caféとはチャットワークユーザーが集まり、チャットワークについて主体的にかつ楽しく学び、共有するためのコミュニティです。集ま..

それではいってみましょう!

「ChatWork Café大阪Vol.1」のプログラム

オープニング

Image may be NSFW.
Clik here to view.

ChatWorkの藤井香苗さんより趣旨説明です。

ChatWork Caféはユーザー同士でチャットワークの使い方を共有する、アウトプットファーストのイベント

あまりIT利用が進んでいないといわれる運送業界でも導入事例があるそうです…!

このイベントでも感じましたが、チャットワークは業界・業種選ばず利用されてますね。

各企業が持っているチャットワークの運用ノウハウをアウトプットを通じて共有しお互いを高めあう、さらにチャットワーク自体も進化する、そんな有意義なイベントです。

次にチャットワークのエバンジェリスト(伝道師)お二人による講演のスタート!

介護事業所での活用方法について

Image may be NSFW.
Clik here to view.

トップバッターは株式会社ライフケアで整骨院・鍼灸院、複数の介護事業所を運営されている一谷勇一郎さんです。

介護職員が離職する原因第1位は「コミュニケーション不足」、組織が大きくなるほど、どうしても管理職と従業員のコミュニケーションは少なりますし、誰に相談すればいいかわからない…という問題もよく起こります。

そこで1対多、多対多のコミュニケーションができるチャットワークの出番です。全員・事業所・職種ごとにクローズドなグループを作り、発言を促進する仕組みづくりも徹底。

双方向のコミュニケーションも重視されていて、社長である一谷さんも忙しい時でもエモーティコン(顔文字)を使って「読んでるよ」というメッセージを伝えているそうです。

その結果、なんと介護事業所で驚異の2年連続離職率0%を達成

コミュニケーションは質より量!そのためにはチャットワークは最適なツールですね。

主婦の働き方改革

Image may be NSFW.
Clik here to view.

続いては、ChatWork Café大阪の主催者でもあり、株式会社ソレイユで住宅リフォーム・福祉用具レンタル販売事業をされている中井まひるさんです。

お気に入りの写真をデスクトップにしてるとのことで、それが上の写真(爆笑)。

抜群の「つかみ」から入った中井さん、さすが大阪!(笑)

そんな中井さんがチャットワークを使って行ったのは主婦の働き方改革。ソレイユさんの従業員30名はすべて主婦さんだそうです!

主婦が働きやすい仕組みのオンパレードです。

  • シフト調整チャット

小さなお子さんの突然の発熱や病気はよくあること、そんな時でも全員主婦ですから協力体制はばっちりです。専用のグループチャットであっという間にシフトが調整が可能。

  • 15分中抜け制度

チャットワークで中抜けすることを報告、そして保育園にお迎えに!報告した内容は記録としても残りますのであとでタイムカードと照合もでき一石二鳥です。

  • ワークフローがすべて見える化

住宅リフォームの現場調査の状況などを中井さんがチャットワークで共有、それを受けて事務スタッフの書類作成がスタート!

中井さんが事業所に戻るころには書類が完成している…という素晴らしい業務フローが確立されています。

業務の流れはスレッドを追えば把握することができるので、担当者が変わっても対応可能。こうしてバトンリレーのように仕事が進んでいきます。

全員主婦のチームとの相乗効果が素晴らしい効果を生み出しています。企業の特性にあった活用法を見つけ、さらにそれを改良していくことが大事だと感じました。

日本一やさしいChatWork APIの話

Image may be NSFW.
Clik here to view.

「いつも隣にITのお仕事」ファンの皆さまお待たせしました!

株式会社プランノーツのタカハシノリアキさんです

主催者である中村さんから「ChatWork APIについても知りたい」ということで、タカハシさんにお声がかかったそう。

お話しのテーマは「日本一やさしいChatWork APIの話」。

Webサーバの仕組みから丁寧に説明、基礎から着実に理解を深めていくタカハシさん流のプレゼンでした。

プログラミングしなくてもAPIが扱えるZapierというサービスを使ってAPIを操作する方法もご紹介

今後参加者のみなさんのチャットワーク活用方法が進化しそうでワクワク!次回はChatWork APIを使ったサービス連携方法の事例もたくさん聞けるかもしれませんね!

「へー!」「なるほど」という声とメモを取るみなさん、めちゃくちゃ勉強熱心…。

みなさんが自分の使っているツールについて貪欲に学ぼうとする姿勢も学びになりました。

聞いて!聞いて!私流チャットワーク活用方法

最後はチームに分かれてグループワーク。

私流のチャットワーク活用方法を共有しました。

中井まひるさん、ChatWorkエンジニアの福井章平さん、タカハシノリアキさん、そして私テラドの4人がグループになりました。

タカハシさんからは内外すべてのやり取りをチャットワーク限定にすることでコミュニケーションコストを下げているというアイデア。

中井まひるさんからはお客様の名前の画像で作り、グループチャットのアイコンにして視認性を高めるアイデア。

エンジニア福井さんに改善してほしい点をお話したり、福井さんからも「この機能を使えばできるかも」など様々なご提言もいただきました。

そのほかたくさんお話ししましたが、んーすべて書ききれない!

懇親会

Image may be NSFW.
Clik here to view.

「くちびるきのこさん」のお三人(マネージャーのじょーじさん、ママさん、チーママさん(ほんとのお名前は伺えず…))が京丹後の美味しいお料理とドリンクをご提供して下さいました。

おいしい郷土料理に舌鼓を打ちながら、参加者の皆さんとお話しでき刺激のある時間を過ごしました。

まとめ

ご覧いただいたとおり、チャットワークの使い方は企業ごとで違いますが、みなさんが挙げているチャットワークの利点に共通点が3つあることに気づきました。

  • 1対多・多対多のコミュニケーション
  • トレーサビリティ(あとから情報を検索できる)
  • タイムリーな情報共有

これまでは「仕事という型に人をはめ込んでいく」というのが企業の人材育成・マネージメント方式でした。

参加された人たちは仕事の方を人に合わせようとしています。そこでチャットワークの3つの特性が大いに役立つんですね。

めちゃくちゃ熱い人たちが様々な分野で働き方を変えようとしている、働き方改革の地殻変動は起きはじめています…!

私も微力ながらチャットワークを活用した働き方改革を実践していきます。そして次回Vol.2ではぜひ運営のお手伝いもさせていただけたらと思っています!

最後までお読みいただきありがとうございました!


PowerPoint VBAでアクティブなウィンドウを取得する方法

Image may be NSFW.
Clik here to view.
active-window

photo credit: www.ilkkajukarainen.fi 6Q3A9093 via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

PowerPoint VBAの初心者向けシリーズとして、プレゼンテーションすべてのShapeオブジェクトについてフォントを変更する…というシリーズをお伝えしてきました。

ちなみに、そのシリーズの完結的な記事はこちらです。

Image may be NSFW.
Clik here to view.
PowerPoint VBAのFor Each文とFor文によるループとその使い分けについて
PowerPoint VBA初心者向けに、プレゼンテーションの全ての描画オブジェクトのフォントを変更するマクロをお伝えしています。今回はFor Each文とFor文のループの作り方、またその使い分けについてです。

さて、PowerPoint VBAで例えばフォントを変更するマクロを作りたい…といったときには、「すべてのShapeオブジェクトについて」というニーズも当然あると思いますが、こういうニーズもありませんか?

「選択したオブジェクトについてフォントを変更したい」というニーズです。

これを解決するために、今回から何回かのシリーズで、PowerPoint VBAで選択したオブジェクトについてフォントを変更するマクロの作り方を紹介していきます。

今回はその最初の一歩ということで、PowerPoint VBAでアクティブなウィンドウを取得する方法についてお伝えしていきます。

では、行ってみましょう!

Shapeオブジェクトのフォントを変更する方法

上位オブジェクトからプロパティで掘っていく

以前お送りしたシリーズで、特定のShapeオブジェクトのフォントを変更したい場合、以下のような手順を踏んでいました。

  1. Presentationオブジェクトを取得
  2. Slidesコレクションを取得
  3. Slideオブジェクトを取得
  4. Shapesコレクションを取得
  5. Shapeオブジェクトを取得
  6. Fontオブジェクトを取得して設定

上位にあるオブジェクトから、プロパティを使って掘って掘って…というかたちで、Shapeオブジェクトを取得して、そのFontオブジェクトに設定をしていくという流れでした。

ただ、ちょっと面倒ですし、必ずしもSlideやShapeについて、名前やインデックスで特定できるとは限りません。

選択しているShapeオブジェクトを取得すること

実際にPowerPointを操作しながら、マクロを実行するのであれば、「Shapeオブジェクトを選択している」という状態を作れます。

ですから、その選択しているShapeオブジェクトについてFontオブジェクトを設定する…というのはできそうなものです。

というか、できますね。

ざっくりいうと、上記の手順になります。

  1. DocumentWindowオブジェクトを取得
  2. Selectionオブジェクトを取得
  3. ShapeRangeオブジェクトを取得
  4. Fontオブジェクトを取得して設定

…おや?

こちらのほうがシンプルそうな気がしますね…。

ということで、この手順に沿って、選択しているShapeオブジェクトを掴んで操作をする方法を解説していきますね。

DocumentWindowオブジェクトとは

まず、DocumentWindowオブジェクトというオブジェクトについて知る必要があります。

これは、PowerPointにおいてウィンドウを表すオブジェクトです。

Presentationオブジェクトと何が違うのか…ちょっと混乱するかも知れませんので、整理しておきましょう。

DocumentWindowオブエジェクトはウィンドウを表すオブジェクトであり、DocumentWindowオブジェクトに対して、そこに表示できるPresentationオブジェクトは一つです。

一方で、Presentationオブジェクトはですが、PowerPointのリボンから「表示」→「ウィンドウ」→「新しいウィンドウを開く」とすると、一つのPresentationオブジェクトが複数のDocumentWindowオブジェクトで開いている可能性があるわけです。

また、一つ重要なポイントとして、操作対象(つまり選択した対象)となりうるDocumentWindowオブジェクトは、常に一つということです。

アクティブなウィンドウを取得する

操作対象となっているDocumentWindowオブジェクト、つまりアクティブなウィンドウを取得するには、グローバルなプロパティとして用意されている、ActiveWindowプロパティを使います。

本来はApplicationオブジェクトのメンバーですが、グローバルのメンバーになっていますので、以下のように直接書き出すことができます。

ActiveWindow

例えば、適当なPowerPointプレゼンテーションを作成して、以下のコードを作成、実行してみましょう。

Sub アクティブなウィンドウ()

Debug.Print ActiveWindow.Caption

End Sub

実行すると、イミディエイトウィンドウにウィンドウのタイトルバーに表示されているテキストが出力されるはずです。

Captionプロパティは、ウィンドウのタイトルバーのテキストを取得するプロパティです。

DocumentWindowオブジェクト.Caption

まとめ

以上、PowerPoint VBAで選択した部分を操作する流れとウィンドウを表すDocumentWindowオブジェクトについてお送りしました。

次回、このシリーズの目的を達成するための、たいへん重要な役割を果たすSelectionオブジェクトについて解説をしていきますね。

どうぞお楽しみに!

Windowsのポチポチ業務を爆速化するPowerShell、オンラインヘルプでコマンドレットを使い倒す!

Image may be NSFW.
Clik here to view.

Windowsのポチポチ業務(マウスを使った業務)を爆速化するために、PowerShellを使った効率化の方法をお伝えしています。

前回の記事はこちらです。

Image may be NSFW.
Clik here to view.
Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!
PowerShellの主役であるコマンドレットを腹の底から理解して使いこなせるようなりましょう!コマンドレットの基本的な構文から、オンラインヘルプの参照方法まで詳細に解説します!

前回はコマンドレットの基本的な構文と、パラメータについて詳しく説明しました。

パラメータはコマンドレットに必要な情報を渡したり、その働きを変えるために使われます。

今回はパラメータの構文、設定値の内容をオンラインヘルプを使って調べる方法をお伝えします。

それではいってみましょう!

Get-Helpコマンドでオンラインヘルプを開く方法

ヘルプを参照するには「Get-Help」というコマンドレットを使います

PowerShellには

  • ローカル環境にダウンロードしたヘルプファイル
  • オンラインヘルプ

と2種類のヘルプが存在します。

パラメータなしで実行すると、ヘルプファイルを参照します

Get-help コマンドレット

今回は例としてコマンドレット:New-Itemについて調べていきます。

Get-Help New-Item

実行すると…

Image may be NSFW.
Clik here to view.

残念なことに、PowerShellでは日本語のヘルプファイルが用意されていません

PowerShellの言語を英語に切り替えれば英語版のヘルプファイルをダウンロードできるのですが、ブラウザの翻訳機能を使えるので、本記事ではオンラインヘルプをおすすめしています

オンラインヘルプを開くにはGet-Helpに-onlineパラメータを指定します

Get-help コマンドレット -online

それでは、New-Itemのオンラインヘルプを開いてみましょう。

Get-Help New-Item -online

標準のブラウザが起動しオンラインヘルプが表示されます。

Image may be NSFW.
Clik here to view.

オンラインヘルプの表示内容

1つのコマンドレットにつき1ページ用意されており、以下の内容が表示されます。

  • 構文(Syntax)
  • 説明(Description)
  • 例(Example)
  • 必須パラメータ(Required Parameters)
  • オプションパラメータ(Optional Parameters)
  • インプット(Inputs)※1
  • アウトプット(Outputs)※1
  • ノート(Notes)※2
  • 関連リンク(Related Links)※2

※1 次回パイプラインの記事にて改めて説明いたします。
※2 コマンドレットの補足情報のため説明は割愛いたします。

例を確認しよう

オンラインヘルプの表示内容を見てわかるとおり、けっこうな情報量です。

てっとり早くコマンドレットの使い方が知りたい方はまず例を確認しましょう。

オンラインヘルプは英文ですので、ブラウザの翻訳機能を使って日本語に翻訳しましょう

例ではコマンドレットの主要な使用方法を知ることができます。構文や細かい仕様を確認しなくてもコマンドレットが書けてしまいます。

Image may be NSFW.
Clik here to view.

翻訳済ですが十分に意味が理解できますね。

構文

例の次に重要なのは構文です。

構文ではパラメータの並べ方・設定値の型・省略方法が定義されています。

Image may be NSFW.
Clik here to view.

角かっこ ([ ])と山かっこ (<>)の意味がわかれば省略方法について理解することができますので、それぞれご説明します。

角かっこ ([ ])は省略可能

角かっこ ([ ])は省略可能な項目です。以下2パターンの角かっこ ([ ])の見方さえ理解しておけば、パラメータの記載方法はばっちり理解できます。

[パラメータ名] < パラメータの型 >

パラメータ名にのみ[]がかかっています。パラメータ名が省略可能ですので、パラメータの値のみ書けばOKです。

[[パラメータ名] < パラメータの型 >]

パラメータ名、パラメータの値の両方に[]がかかっています。パラメータ自体が省略可能です。

山かっこ (<>)はパラメータの値の型

山かっこ (<>)は、パラメータの値にどんな型の値を入力すればよいかを示します
< String >となっていれば、文字列で置き換えればOKです。

説明

説明では、コマンドレットの概要をつかむことができます
ざっと目を通しておくとよいと思います。

Image may be NSFW.
Clik here to view.

必須パラメータとオプションパラメータ

必須パラメータとオプションパラメータは、必要なパラメータ、オプションのパラメータという表題の配下にそれぞれ表示されています。

パラメータ名まで翻訳されてしまっていますが、分かりにくい場合はブラウザで言語を切り替えながら確認してくださいね。

Image may be NSFW.
Clik here to view.

Image may be NSFW.
Clik here to view.

例と構文だけわかってしまえばコマンドレットは書けてしまうのですが、例以外の使い方を知りたい時は各パラメータの情報を詳しく見る必要があります。

まず概要が書いてあり、そのパラメータで何ができるかを大まかに把握することができます

次に以下5つの属性についての情報が載っています。

  • タイプ
  • エイリアス
  • ポジション
  • デフォルト値
  • パイプラインの入力を受け入れる
  • ワイルドカード文字を受け入れる

各属性の詳細については、今後の記事で必要に応じて説明していきます。

まとめ

いかがでしたか。

オンラインヘルプでパラメータの設定値を調べる方法をご説明しました。

コマンドレットの使用方法を知りたいときはオンラインヘルプを使って例と構文でざっくりと把握しましょう。ぜひ、ご自分でオンラインヘルプを参照しながら、いろいろなコマンドレットを使ってみてくださいね。

次回はコマンドレットを組み合わせて使うことができるパイプラインという強力な仕組みについてご説明します!

最後までお読みいただきありがとうございました!

連載目次:Windowsのポチポチ業務を爆速化するPowerShell

Windowsのポチポチ業務(マウスを使った業務)を爆速化するために、PowerShellを使った効率化の方法をお伝えしています。
  1. Windowsのポチポチ業務を爆速化するPowerShell、はじめのハードルぐーーんと下げてみます!
  2. Windowsのポチポチ業務を爆速化するPowerShell、キーボードを使わずササっと起動する方法
  3. Windowsのポチポチ操作を爆速化するPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!
  4. Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!

プログラミング学習と脳の使い方~本当に正しい学習してるのか?

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

私自身は、VBAやGASなどのプログラミングを中心に研修や執筆のお仕事をしています。

昨年、2017年末からはコミュニティも開始して

  • 習慣化しましょうね~
  • 実務で使いましょうね~
  • アウトプットしたほうがいいですよ~
  • 写経すると良いですよ~

と伝えてきたわけですが…これ、本当に効果あるんですかね?

ちょっと心配になりましたので、科学の裏付けを得ておきたいと思いました。

そして、「学習」ですから、その対象となる科学は「脳科学」になるわけです。

これまで私が伝えてきたプログラミング学習のノウハウが脳科学の裏付けを得られるのか…?

調べてみましたので、ご覧ください。

※この記事はコミュニティ「ノンプログラマーのためのスキルアップ研究会」定例会Vol.10「プログラミングと脳の使い方」の内容の一部を加筆修正して記事にしたものです。当日の様子は以下のツイートまとめもご覧くださいませ。

Image may be NSFW.
Clik here to view.
ノンプロ研定例会Vol.10 「プログラミングと脳の使い方」
プログラミングの学習には数百時間という少なくない時間が必要です。忙しいビジネスマンにとっては、いかに効果的に学習を進めるかが非常に重要です。学習というのは、得た知識や情報を効果的に取り出すことがで..

学習とは何か

まずは、改めて「学習」とは何を指すのか、定義を整理しておきましょう。

デジタル大辞林には

①学問・技術などをまなびならうこと。
②学校で系統的・計画的にまなぶこと。
③人間も含めて動物が、生後に経験を通じて知識や環境に適応する態度・行動などを身につけていくこと。

…とありました。①は当たり前すぎるし、②はなぜか「学校」限定…。今回の文脈でいうと③が近いですかね。

それで、今回いったんこう定義しておこうと思います。

  1. 新しい知識を記憶する
  2. 記憶した知識を活用できる

つまり、長期記憶を効果的に蓄積できて、それを都度効果的に取り出して活用できるようにする、というのが「良い学習」ということになります。

記憶に関わる脳の器官や機能

記憶に関わる脳の器官や機能はたくさんありますが、特に重要なものとして以下のようなものが上げられます。

  • 短期的に記憶を保持しつつ、外部からの入力と長期記憶から次の行動を決定する「ワーキングメモリ(前頭前野)」
  • ワーキングメモリからの記憶を長期記憶にするかどうかを振り分ける「海馬」
  • 感情を生み出し海馬も刺激をする「扁桃体」
  • 長期記憶を保管する「大脳新皮質の神経細胞とシナプス」
  • 運動の調整をする機能に加えて、身体で覚える手続き記憶を保管する「小脳」

これらの機能をうまく使う学習法が、良い学習となるわけです。

たくさんのポイントがあるようなのですが、この記事では2点ほどお伝えしておきたい

チャンクとチャンキング

ワーキングメモリの記憶機能は、以下のように脆弱です。

  • 7±2の事項(=チャンク)しか置けず、その数は増やせない
  • 何もしないと数秒で失われる
  • 割り込みに弱い

なので、闇雲に情報を取り入れたり、取り出したりすると、すぐにワーキングメモリがいっぱいになって処理できなくなり、そしてどんどん失われてしまいます。

ワーキングメモリは余裕をもたせながら使う必要があります。

「チャンク」は工夫をすると情報をうまく圧縮してたくさんの情報を詰め込むことができます。

有名なのは「1192年に鎌倉幕府が誕生した」という事項を「1192(いいくに)作ろう鎌倉幕府」というフレーズで覚えようというものです。

「1・1・9・2」という無意味な数値の羅列だけだとチャンク数を複数個消費してしまいますが、フレーズに入れ込むことで、1つのチャンクにすべての情報を詰め込むことができるようになる、ということです。

このように、チャンクの中に多くの情報を詰め込むことができるように圧縮することをチャンキングと言い、記憶をする・活用する両側面で有効なテクニックとなります。

スキーマとは

もう一つ重要な単語として「スキーマ」というものがあります。スキーマとは関連付け・体系化された一連の知識や行動プロセスのことです。

例えば、自動車の運転免許を持っている方であれば「車を駐車する」という行為をしようと思ったら

  1. ミラーを見て安全確認
  2. 窓を空けて後ろを見る
  3. ブレーキペダルを離す
  4. クリープ現象が起こる
  5. ハンドルを調整する
  6. ブレーキペダルを完全に踏む

などといったことをいちいち確認せずとも、一連の動作として遂行できます。これは、上記の記憶が一連の流れとして関連付けされて記憶されているからです。

つながっている記憶は、信号伝達がしやすいため、取り出しやすくなりますし、このように身体で覚えるような手続き記憶は、強固な記憶になりえます。

また、以下のような情報を得たとき

  • タイヤが4つある
  • 座席が2つある
  • ハンドルがある
  • 出入りするための扉がある

我々は「車かな?」と想像をすることができます。それは、各情報が「車」という体系に関連付けられて記憶されているからできることで、これは前述でいう効果的なチャンキングになっています。

つまり記録を関連付け、体系化をしてスキーマを強化しておくことは、学習において非常に重要な役割を持ちます。

学習効果を上げるための脳の使い方

これらをもとに、いくつかの学習効果を上げるための脳の使い方を考えることができます。

以下リストアップしますね。

  • 日々の習慣
    • 自我関与
    • 十分な睡眠
    • 適度な運動
  • 学習中
    • 集中する
    • 書く・打つ
    • やってみる
    • 適度な難しさ
    • 緊張感
    • 教える前提で学ぶ
    • 感情を出す
  • 学習したあと
    • 復習する
    • 省察する
    • 想起する
    • アウトプットする
    • フィードバック

たくさんありますが、脳科学的にはこれらがいずれも効果的ということになります。

私がこれまで伝えてきた内容は、ほぼ正しかったのでホッとしました…。

特に、教えるタイプのアウトプットは非常に効果的です。上記のポイントのうち、多くのポイントを一気に求められますから。

まさに「教えることは二度学ぶこと」は科学的にも証明されたわけです。

まとめ

以上、学習と脳の使い方について簡単ではありますがお伝えしました。

いや~、これらの下調べは大変だったのですが、ものすごく勉強になりましたし、自信になりました。

以下、参考資料です。どれもオススメです…!!

さて、コミュニティ「ノンプログラマーのためのスキルアップ研究会」グループ内では、上記内容をお話している定例会の様子もアーカイブとして公開予定です。

興味がある方は、ぜひご入会を検討してみてくださいね。

「ノンプログラマーのためのスキルアップ研究会」定例会・分科会レポート

コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月1回、学びの質やモチベーションを高めるための定例会を開催していますので、こちらで過去のレポートをお送りしています。

ノンプロ研メンバーがお仕事パートナーにチャレンジ!応募前に知っておいてほしいことをお話しします!

Image may be NSFW.
Clik here to view.
ノンプロ研お仕事パートナーアイキャッチ画像

こんにちは!ノンプロ研メンバーのもり(@excelprog)です!

前回は、事務職の私がプログラミングを始めてから、ノンプロ研に入会しての感想などをお話ししました。

Image may be NSFW.
Clik here to view.
ノンプロ研ってどんなとこ?事務職の私がプログラミングを始めてから入会しての感想をお話しします!
ノンプロ研ってどんなコミュニティなの?雰囲気は?レベルは?事務職の私がプログラミングをはじめたきっかけから、入会後の活動とその感想についてお話します!

さて今回は、私が「お仕事パートナー」へ応募した理由や、これから応募を考えている方へのメッセージなどをお伝えしていきますよ!

お仕事パートナーとは?

株式会社プランノーツのひとり社長・タカハシさん(ノンプロ研主宰)の掲げるミッション「“日本の『働く』の価値を上げる”」に沿って、お仕事のお手伝いをするパートナーです。

具体的な募集背景・職種などの詳細はこちらでご確認くださいね。

Image may be NSFW.
Clik here to view.
【副業&在宅OKパートナー募集!】お仕事をしながらITと記事執筆のスキルアップも
プランノーツでは一緒にお仕事をして下さるパートナー様を募集しています。 Excel・VBA、Google AppsなどのITと記事執筆スキルを磨きながら、空いた時間を使って収入を得ることができます。

この2つの応募条件は特に要チェックですよ!

  • 週1本以上のブログ執筆が可能な方
  • 「ノンプログラマーのためのスキルアップ研究会」への参加

お仕事パートナーに応募してみた!

応募のきっかけ・理由は?

2018年8月、ノンプロ研メンバーの「スキルアップの出口」として「お仕事をしてみよう」企画がコミュニティで始まりました。

ノンプロ研に入会して、VBA・ライティングスキルに少しずつ手ごたえを感じはじめ、「もっと自分の力を試したい」と思っていたタイミングでの企画発足。

「これ以上にない絶好のチャンス、今やらないでいつやるの?」そんな思いで即応募しました。

手をあげたものの、「趣味」レベルのスキルがどこまで「仕事」として通用するか、不安でいっぱいです。

個人ブログの経験から、ブログ執筆がすぐには収入にならないことも知っています。

それでも応募したのは、「記事を書くことによって得られるスキル」を将来の「資産」につなげていきたいからです。

具体的にはこのようなスキルです。

  • ライティングスキル
  • プログラミングスキル
  • ブランディング力

読者のみなさんに価値ある記事をお届けするのはもちろんのこと、「将来のチャンスをつかむためのステージ」としても考えています。

ブログ執筆は稼げない?!

はい、すぐには稼ぐことはできません。

なぜなら、「記事を書いて公開する」までには多大な時間がかかるので、作業時間に対する収益が圧倒的にマイナスだからです。

個人ブログの運営経験がある私でも、「応募」から「最初の1記事を公開する」まで、のべ10時間はかかりました。

仮に、この10時間で時給1,000円のアルバイトをすれば1万円が稼げますが、それに比べれば1記事の報酬は低いです。

初回の具体的な作業はこれらです。

  • ネタ作成のため、当ブログの既存記事をチェック(ネタかぶり防止)
  • WordPress操作方法の取得
  • 記事が当ブログに掲載できる品質になるまで下書き修正

執筆を重ねれば1記事あたりの時間は短くなりますが、その費用対効果が見合うレベルに達するまでには相当な時間がかかると思います。

週1本以上・記事を書くことのツラさ…

社会人のみなさん、1週間が嵐のように過ぎ去ることってありませんか?(私はよくあります。)

お仕事パートナー応募条件として「週1本以上のブログ執筆」がありますので、応募を考えている方は、ご自身が1週間にどれくらいの作業時間を確保できるか考えてみてください。(本業をお持ちの方は特に)

さらに、作業時間さえ確保できればOKではありません。

一番のツラさ・難しさは「自分でネタを生み出し・提供し続けること」です。

つまり、パートナー自身が「次はこのネタで書きます!いかがでしょうか?」と提案するのです。

週に1本の新ネタ。個人のスキルにもよりますが、これもまた難しい作業です。

記事ネタはどうやって選ぶの?

自分で自由にネタを出せるとは言っても、なんでもよいわけではありません。この3つを抑える必要があります。

  • 【テーマ】IT×仕事
  • 【ターゲット】非開発職のビジネスマン
  • 【ポイント】読み手に価値を与えられる内容であること

基本的には当ブログの既存記事にないネタを提供することになりますが、応用編として、既存ネタを使用した実用的なツールを作成して紹介する方法もあります。

本業をお持ちの方であれば、仕事で役立つ汎用性の高いツールを作った!ぜひ他のビジネスマンにも紹介したい!という考え方もありますよ。

または、IT関連のイベントに参加してきたので、そこで体験したことや、新たに得た知識を紹介したい!という記事でもOKです。

つまり、読み手に価値を与えられる内容であれば、記事ネタの選び方は色々あります。この辺は執筆を重ねるにつれて感覚がつかめると思います。

とはいっても、既存の知識だけではあっという間にネタが尽きてしまうので、常に新しい知識を勉強したり、色々なイベントに出かけて情報を収集してくる必要があります。

だからこそ、得られるものがある!

さて、ここまで「稼げない」「ツラい」と、さんざん嘆いているこの私ですが、

パートナー応募からわずか1か月、すでに大きな変化を感じています。

その変化とは「常に勉強しなければならない”緊張感”を持って、新しい知識を吸収できていること」です。

会社から帰ったらすぐに勉強。テレビを見る時間も、SNSを眺めている時間も少なくなりました。(これまで見ていた連ドラを見逃すほどに…)

そして、毎日必ず手を動かしてプログラミングをするようになりました。文章力を高めるための書籍も読み、ライティングの練習もしています。

こうした時間の積み重ねが、スキル・収入など幅広い意味での「資産」になると感じています。

これから応募しようと思っているあなたへ

もし、あなたが副業として「お仕事パートナー」への応募を考えている場合、常に新しいネタを提供し続ける「時間」と「気力」を持ち合わせているか、検討してみてください。

そのうえで、応募の前提条件として「ノンプロ研への参加」がありますので、タカハシさん(@ntakahashi0505)ってどんな人?どんなコミュニティなの?を知るためにも、まずはこちらにお気軽に入会してみてくださいね。

Image may be NSFW.
Clik here to view.
コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

ノンプロ研メンバーの私がお仕事パートナーに応募して強く感じるのは、「タカハシさんの仕事スタンス」がそのまま「コミュニティの雰囲気」に現れていることです。

だから、ノンプロ研の雰囲気に共感できる方なら、応募後もスムーズに進むと思います。

最後に

事務職の私がプログラミングを始めてから、ノンプロ研に入会し、お仕事パートナーに応募するまでの各ステージを2回にわたってお話ししてきました。

  • ノンプロ研に興味がある、入会してみたい
  • お仕事パートナーに応募してみようかな

でも、あと一歩が踏み出せない・・・

そんなあなたに向けて、私が何かを迷ったとき思いだすフレーズを最後にお届けします。

足踏みしてても、クツは減るぜ(漫画家・吉田聡

この道を進むべきかと足踏みしていても靴底はただ擦り減るだけなので、それならば足を一歩前に出して進もうよ、という意味です。

ノンプロ研に入会してみる、お仕事パートナーに応募してみる。新しいことを始めるときって、誰でも迷いますよね。

でも、迷って足踏みをしている今この瞬間も、ただただ時間は流れ過ぎています。

その時間を仲間との勉強にあてる。勇気を出して仕事にチャレンジする。そんなスキルアップの時間にあててみませんか?

PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

シリーズで、PowerPoint VBAで選択したオブジェクトについてフォントを変更するマクロの作り方を紹介していきます。

前回の記事はコチラ。

Image may be NSFW.
Clik here to view.
PowerPoint VBAでアクティブなウィンドウを取得する方法
PowerPoint VBAで選択したオブジェクトについてフォントを変更するマクロの作り方を紹介していきます。今回は、最初の一歩としてActiveWindowプロパティでアクティブなウィンドウを取得する方法です。

アクティブなウィンドウを取得する方法をお伝えしました。

なぜ、アクティブなウィンドウを取得するのか…それは本シリーズの”主役”と言っても過言ではない「選択している部分」を表すSelectionオブジェクトを取得するためなんですね。

ということで、PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得についてお伝えします。

では、行ってみましょう!

題材となるプレゼンテーションと前回のおさらい

まず、今回以降、題材として使用するプレゼンテーションですが、コチラです。

Image may be NSFW.
Clik here to view.
PowerPoint VBAの題材とするプレゼンテーション

このプレゼンテーションに対して「選択したオブジェクトについてフォントを変更する」というのを目標に進めていきます。

Sub アクティブなウィンドウ()

Debug.Print ActiveWindow.Caption

End Sub

実行すると、アクティブなウィンドウのタイトルバーのテキスト「Shapeオブジェクト.pptx」がデバッグ出力されるはずです。

選択している部分を表すSelectionオブジェクト

Selectionオブジェクトとは

さて、さっそくSelectionオブジェクトについて見ていきましょう。

PowerPointで「選択されている部分」というとどういう状態を思い浮かべますか?

実は、以下のようにいくつかの種類があることに気が付きます。

  • スライドの選択
  • シェイプの選択
  • テキストの選択

これらの選択状態をとりあえず全部ひっくるめて「選択されている部分」として取り扱うことができる便利なオブジェクトが、Selectionオブジェクトです。

ExcelやWordのSelectionについて

ちなみに、Excelで「Selection」もありますが、これはオブジェクトではなくてプロパティですね。取得できるものは、Rangeオブジェクトになります。

一方でWordには「Selectionオブジェクト」が存在していて、文書内で選択されている範囲またはカーソルが挿入されている箇所を表します。

Image may be NSFW.
Clik here to view.
Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
Word VBA初心者向けシリーズ。今回は、文字を入力する方法の中で最もシンプルな方法を紹介。SelectionオブジェクトのtypeTextメソッドを使って、現在のカーソル位置に文字を入力する方法です。

しかも、ExcelのSelectionプロパティも、WordのSelectionプロパティも、いずれもグローバルのメンバーなので、対象のオブジェクトの記述なしで書くことができます。

PowerPointについては、Selectionプロパティはグローバルのメンバーではないので、その上位オブジェクトであるDocumentWindowオブジェクトの記述が必要なのです。

Selectionプロパティで選択している部分を取得する

PowerPoint VBAでは「選択している部分」を取得するには、DocumentWindowオブジェクトのSelectionプロパティを使います。

DocumentWindowオブエジェクト.Selection

例えば以下のようなプロシージャを実行してみましょう。

Sub 選択している部分を取得する()

Debug.Print ActiveWindow.Selection.Parent.Caption

End Sub

実行すると、冒頭のプロシージャと同様に「Shapeオブジェクト.pptx」とイミディエイトウィンドウに出力されています。

SelectionオブジェクトのParentプロパティは、その親オブジェクトを取得するプロパティです。

Selectionオブジェクト.Parent

親オブジェクトはアクティブウィンドウになりますので、そのタイトルバーのテキストが取得されているということになります。

つまり、このコードのSelectionプロパティの使い方は、あまり意味のある使い方ではありませんね。あくまで確認用です。

まとめ

以上、PowerPoint VBAで選択した部分を表すSelectionオブジェクトについて、またその取得の方法についてお伝えしました。

PowerPointでは、選択の状態が複雑なのですが、いったんそれを気にせず、ざっくり「Selectionオブジェクト」として取得することができます。

次回、その「選択の状態が複雑」というところを伝えていきますね。

どうぞお楽しみに!

「ノンプログラマーのためのスキルアップ研究会&もくもく会 in 大阪」を開催しました!

Image may be NSFW.
Clik here to view.

ノンプログラマーがVBA・GAS・Pythonなどのプログラミングスキルを身に着けるためのコミュニティ「ノンプログラマーのためのスキルアップ研究会」。

通称「ノンプロ研」は東京を中心に開催中ですが、2018/9/15大阪第一弾となる「ノンプログラマーのためのスキルアップ研究会&もくもく会 in 大阪」を開催しました!

主宰のタカハシノリアキさん(@ntakahashi0505)がほぼ運営してくださったのですが、ノンプロ研大阪の初期メンバーとして私テラド(@terashin1226)もお手伝いいたしました。

ご参加してくださったみなさん素敵な方ばかりで、とてもハートフルな会になりました。

運営の裏側含め、初開催されたノンプロ研大阪の様子をレポートいたします!

タカハシさんがToggeterもまとめてくださっていますので、こちらもぜひご覧ください。

Image may be NSFW.
Clik here to view.
ノンプログラマーのためのプログラミングスキルアップセミナー&もくもく会 in 大阪
このイベントはノンプログラマーがプログラミングスキルを身に着けるノウハウを、セミナー、LT、もくもく会を通して共有・学び合うイベントです。コミュニティ「ノンプログラマーのためのスキルアップ研究会」..

それではいってみましょう!

ノンプロ研が大阪に初上陸した経緯

私テラドは当ブログで執筆はしていましたが、実はノンプロ研には参加していませんでした。

8月下旬、テラドが「ノンプロ研、楽しそう…」とボソっとツイートしたことからノンプロ研大阪の企画がスタートします。

タカハシさん「なるほど!ノンプロ研大阪やりません?」

こんなTwitter上のやり取りで、ぬるっとノンプロ研大阪の企画がスタート

タカハシさんが「ChatWork Café大阪Vol.1」で来阪されるため、翌9/15にもくもく会からお試しではじめましょう!と決定、すぐイベントページを開設!と企画がどんどん進んでいき、あっという間に当日を迎えました。

いきなりのトラブル発生!?

会場は古いビルの1室。

Wi-Fiを確認したいが案内が見当たらない…会場のページを検索すると「osaka free Wi-Fi」と表記。

「あれ…?会場自体のWi-Fiじゃないんだ…」とじんわり嫌な予感が…。

そこにタカハシさんからチャットワークの通知。

「あれテラドさんいないっすね。さきに準備はじめちゃいますねー」

!?

はい、まさかの会場を間違えました。同じビルに2つ貸し会議室が入っていて、違うほうに入ってました…。

「いきなりやっちまった…仕切り直して頑張ろう!」と思っていた矢先

「プロジェクターの電源コードがない…!!!!!」

タカハシさんが電話すると担当者の方は「買っていきます!」とのこと。間にあうのか…。

「ん…?そういえば間違えて入った会議室にプロジェクターありました…!

すぐにそのプロジェクターを使用することに(そのためだけに会議室を予約していただきました)。

バタバタしましたが、ノンプロ研大阪なんとかスタートしました…!

プログラム内容

ノンプログラマーがプログラミングを学ぶべき理由とハードル

Image may be NSFW.
Clik here to view.

なんと7名もの方がご参加してくださいました!

ご参加いただいた皆様、本当にありがとうございました!

タカハシさんによる「ノンプログラマーがプログラミングを学ぶべき理由とハードル」の講座スタートです!

孤独な人たちの集まり、それがノンプロ研。

プログラミングで仕事を効率化するのは良いことに思えますが、いざ職場でプログラミングを推進しようとすると変化を望まない人が現れ、効率化できない、そして学習意欲がそがれてしまう…。

そんな状況で学習習慣を保つのは大変、それがノンプログラマーのハードルです。

孤独なノンプログラマーが学習を続け、価値ある人材になるためにのコミュニティ、それがノンプロ研です。

ノンプログラマーこそ最強!

落合陽一さんと堀江貴文さんの共著「10年後の仕事図鑑」の中でプログラマーも消えていく仕事として紹介されているとタカハシさん。

あれ?

ノンプロ研が学ぼうとしているのはプログラミング…え!?その価値がなくなるってこと?

そうではありません。

2020年にプログラミング学習が必修化されることが話題ですが、誰もがプログラミングを学ぶようになるとプログラミング自体は普遍的な技術として価値が下がってしまうのです。

しかしあるノウハウを持った人がさらにプログラミングを覚えれば、希少価値のある人材になれます

ノンプログラマーがプログラミングを学ぶ、そのこと自体に大きな価値があるんです。

ノンプロ研のモットー:教えることは二度学ぶこと

Image may be NSFW.
Clik here to view.

アウトプットすることで学習効率が高まることは脳科学的にも明らかになっています。

オンラインでノンプロ研の仲間とつながり課題に一緒に取り組んだり、LT・もくもく会を通じてアウトプットしたり、得た知識をコミュニティにギブすることで学習を継続し自身の価値を高めていく、それがノンプロ研のモットーです。

LT大会

さっそくアウトプットの場、LT大会に移ります。必ずアウトプットの場とセットになっているのもノンプロ研の大きな特徴です!

テラドによるド緊張LT

Image may be NSFW.
Clik here to view.

AIが仕事をすることに「やったー!仕事しなくていいんだラッキー!」とはならず、なぜ人は「仕事を奪われる!」と表現するのか。少し前から悶々と考えていましたが、ノンプロ研に関わって見えてきた答えについてお話ししました。

その答えとは人は他者に価値を与えることで社会に認められたいという根源的な承認欲求を持っているからということ。

しかし日本の社会では会社に所属することが目的化し内に秘めた承認欲求が達成できていない、だからこそギブを主体としたノンプロ研に参加し、そして神経伝達物質のニューロンのように、1つのコミュニティだけではなく、いろんな会社やコミュニティを行き来して価値をギブしましょう!そんなお話しをしました。

LT自体は緊張&グダグダ…でしたが、みなさん暖かく見守ってくださりよい経験になりました。

スライドもシェアしておきます。

JAMSTORE松本裕美さんによるLT

Image may be NSFW.
Clik here to view.

広告制作会社JAMSTOREの松本裕美さんがLTしてくださいました!

JAMSTOREの素敵なホームページはこちらです。

Image may be NSFW.
Clik here to view.
JAMSTORE|大阪の広告制作会社
JAMSTOREは大阪の広告制作会社です。 ちゃんと向き合って、お話を聞いて、 文章を書く、デザインする、カタチにする。 つたえるために出来ることをマジメにお手伝いしています。

元々ロングワーカーだった松本さん。ご出産されたことを機に働き方の変革を求められたそうです。

松本さんと同じように子育てなどで長時間働けないだけで力を発揮できずにいる人がたくさんいる。

そんな状況を打破するためJAMSTOREではRemottoというバックオフィス業務をリモートワークで請け負うサービスを開始。スタッフの9割が子育て中の主婦さんだそうです!

リモートワークは多くのITサービスを使って運営されていますが、経営者視点から見たときに既存のITツールの組み合わせだけでは効率化の限界が見えてきたとのこと。これ以上は過去の資産だけではやっていけない

まず経営陣がプログラミングを学ぶべき

そんな思いから、ノンプロ研にご参加くださったとお話しくださいました。

もくもく会

Image may be NSFW.
Clik here to view.

LTが終わり、もくもく会の開始です!

各自が持ってきた課題を発表し、1時間ほど集中して作業に取り組み、結果を発表するという流れです。

Python、GASとチャットワークの連携、PowerShell、競技プログラミングの問題に挑戦とそれぞれ課題に取り組みました。

キーボードをたたく音だけ聞こえてくる…そんな集中したもくもく会でした。

またタカハシさんへの質問も多くあり、1つ1つ丁寧に、学習レベルにあったアドバイスをしてくださいました

ノンプロ研大阪から学んだこと

ノンプロ研大阪で学んだこと、まずは会場選びには絶対下見が必要ということです!(笑)

タカハシさんが遠方のため会場選びはテラドがしたのですが、Web上に載っている情報が正しいとは限らず実物を目にしてはじめてわかる問題点もあります。

こうやって運営に携わることもアウトプットの1つであり、今回機会を与えてくださったタカハシさんには感謝しかありません。

また社内システム担当、学校教師、Web制作、広告制作と様々な職種の方がご参加してくださいましたが、みなさんプログラミングを学びたいけれど、ノンプログラマーが学べる場がなかったとお話してくださいました。また地方では学びあえるようなコミュニティもあまりないとのこと。

ノンプロ研を各地に広めていくことで、プログラミングで自分の価値を高めたい!という思いを持った方々の孤独を解消し、価値を高めあっていくことが可能だ!、そんな確信が得られた会になりました。

今後もノンプロ研大阪の活動にご期待ください!

ノンプロ研の詳しい活動はタカハシさんの記事に詳しく書かれていますので、ぜひご覧ください。

Image may be NSFW.
Clik here to view.
コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

皆様のノンプロ研へのご参加をお待ちしております!

最後までお読みいただきありがとうございました!

PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

PowerPoint VBAで選択しているシェイプのフォントを変更するマクロの作り方をお伝えしています。

前回の記事はコチラです。

Image may be NSFW.
Clik here to view.
PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得
みなさん、こんにちは!タカハシ(@ntakahashi0505)です。シリーズで、PowerPoint VBAで選択したオブジェクトについてフォントを変更するマクロの作り方を紹介していきます。前回の記事はコチラ。アクテ...

「選択した部分」を表すSelectionオブジェクトについてお伝えしました。

そのSelectionオブジェクトですが、PowerPointの場合「選択した部分」にはいくつかの種類がありましたね。

今回は、その各種類について紐解いていきましょう。

では、PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!をお伝えします。

では、行ってみましょう!

前回のおさらい

前回は以下のようなソースコードを作りました。

Sub 選択している部分を取得する()

Debug.Print ActiveWindow.Selection.Parent.Caption

End Sub

アクティブなウィンドウの選択した部分を取得するコートですね。

さらに、その取得したSelectionオブジェクトの親オブジェクト(=アクティブなウィンドウ)のタイトルバーテキストをデバッグプリントするという遠回しな確認をするものでした。

まあ、良しとしましょう。

「選択」の4つのパターン

さて、そのSelectionオブジェクトは、取得した際の状態に応じて4つのパターンがあります。

各パターンについて一つずつ紹介していきますね。

スライドを選択している状態

まず、以下のようにスライドが選択されている状態です。

このパターンでは選択できるスライドの数は1以上になります。

Image may be NSFW.
Clik here to view.
いくつかのスライドが選択されている状態

シェイプを選択している状態

次に、1つ以上のシェイプを選択してみましょう。

すると、以下のようにスライドの選択は1つに限定されます。

Image may be NSFW.
Clik here to view.
1つのスライドといくつかのシェイプが選択されている状態

つまり、シェイプが選択されているときは、1つのスライドと1つ以上のシェイプが選択されいる状態になります。

テキスト範囲を選択している状態

続けて、いずれかのシェイプについて編集モードにして、テキスト範囲を選択してみます。

すると、以下のように、複数のシェイプの選択状態は解除されて、1つのシェイプのみが選択されます。

Image may be NSFW.
Clik here to view.
1つのスライドと1つのシェイプとテキスト範囲が選択されている状態

つまり、この場合、1つのスライドと1つのシェイプとテキスト範囲が選択されている状態になります。

何も選択されていない状態

あとは、以下のように、どのオブジェクトも選択されていない状態というのも存在しえます。

Image may be NSFW.
Clik here to view.
何も選択されていない状態

「選択の部分」つまりSelectionオブジェクトには上記のように、4つのパターンがあります。

Selectionオブジェクトのタイプを取得する

Selectionオブジェクトについて、以上の4つのパターンのどの状態なのかを知ることができるプロパティがあります。

以下のTypeプロパティです。

Selectionオブジェクト.Type

Typeプロパティで取得できるのは以下のppSelectionType列挙で定義されている定数で表される4つの数値です。

ppSelectionType スライド シェイプ テキスト
ppSelectionNone 0
ppSelectionSlides 1 1つ以上
ppSelectionShapes 2 1つ 1つ以上
ppSelectionText 3 1つ 1つ テキスト範囲

例えば、以下のようなコードを作ってみました。

Sub 選択状態を調べる()

With ActiveWindow.Selection
    If .Type = ppSelectionNone Then Debug.Print "何も選択されていません"
    If .Type >= ppSelectionSlides Then Debug.Print "スライドが選択されています"
    If .Type >= ppSelectionShapes Then Debug.Print "シェイプが選択されています"
    If .Type >= ppSelectionText Then Debug.Print "テキスト範囲が選択されています"
End With

End Sub

例えば、Typeプロパティが1以上であるときは、少なくとも1つ以上のSlideオブジェクトが選択されていますので、「スライドが選択されています」と出力されます。

Typeプロパティが3のときは、1以上であり、2以上でもあり、3以上でもありますから、「何も選択されていません」以外のメッセージが全て出力されます。

以降の記事でお伝えしていきますが、Selectionの状態によってできる処理が異なりますので、Typeプロパティによる分岐処理を入れるというのはスタンダードなテクニックになります。

まとめ

以上、PowerPoint VBAのSelectionオブジェクトの4つのタイプを知る、Typeプロパティの使い方についてお伝えしました。

Selectionオブジェクトは「選択している部分」の状態も含めて保持しています。その状態を知り、必要に応じて分岐処理を行うためにTypeプロパティを使うのです。

次回、いよいよSelectionオブジェクトからオブジェクトを取得していきましょう。

どうぞお楽しみに!

連載目次:初心者向けPowerPoint VBAで選択箇所を操作する

PowerPointでプレゼンテーションを作っている際に、「選択している部分のフォントを好きに変えたい!」ということありますよね。そのニーズに応えるマクロの作り方をシリーズでお伝えしていきます。
  1. PowerPoint VBAでアクティブなウィンドウを取得する方法
  2. PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得
  3. PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!

Google Cloud Next 2018とは、またその基調講演で発表されたG Suiteのビッグニュース

Image may be NSFW.
Clik here to view.
googlecloud18

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

参加してきました「Google Cloud Next 2018」

まあ盛大なイベントで、まあ新発表がいっぱいありまして、もうどれが重要な発表なのか、わからなくなるくらいでした。

私はノンプログラマー代表として、G SuiteやGoogle Apps Script関連のセッションを中心に参加してきました。

そんな私がまとめたノンプログラマー向けのGoogle Cloud Next 2018 ツイートまとめはこちら。

Image may be NSFW.
Clik here to view.
ノンプログラマーのためのGoogle Cloud Next 2018まとめ
2日間にわたって開催されたGoogle Cloud Next 2018。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

今回はそのレポート第1弾ということで、Google Cloud Next 2018とは何かの紹介と、1日目の基調講演からG Suite関連のビッグニュースをお届けします。

では、行ってみましょう!

Google Cloud Nextとは

Image may be NSFW.
Clik here to view.
Google Cloud Next 2018基調講演

Google Cloud Nextとは、Googleが提供をする最新のクラウドの世界を基調講演、セッション、ブース、その他様々なプログラムを通して体験できる、2日間に渡るイベントです。

今年開催された「Google Cloud Next 2018 Tokyo」はザ・プリンスパークタワー東京と東京プリンスホテルの2会場で同時開催。

基調講演は2会場が同時に連動して開催され、ブレイクアウトセッションは2会場の10のルームとオープンステージで全130セッションが行われました。

また2会場それぞれにスポンサーブースコーナーを設置、さらに会場間の移動手段としてシャトルバスが運行されていて、自由に行き来できます。

なんだ…すごいっす。

ここ2年のGoogle Cloud関連イベントの変遷

ちょっと昔話になりますが、私が最初に参加したGoogleのイベントは、2016年の「Google Atmosphere」というイベントで、どちらかというとビジネス寄りメインのもの。六本木の森タワーで開催されていたと思います。

Image may be NSFW.
Clik here to view.
Google Atmosphere TOKYO 2016でお仕事効率化オタクが感じた『働く』の未来
エンタープライズ向け「Google Atmosphere TOKYO 2016」に参加してきました。本イベントから垣間見えた私たちの『働く』環境で今起きていること、そして近々訪れるであろうこととは?についてレポートしています。

このときに、CEOスンダー・ピチャイさんがいらして、「AIファースト」というワードを強く訴求しはじめた印象があります。

昨年2017年から、GCPを中心とする技術系と、G Suiteを主要ツールとするビジネス系とのイベントが合体して、「Google Cloud Next」になりました。

ザ・プリンスパークタワーで開催され、来場者数は13000人。

そして、今回の申込数はなんと、その倍近い申し込みがあったそう…!!

年々、倍々ゲームで規模を拡大している、大注目のイベントなのです。

基調講演で発表されたG Suiteに関するトピック

さあ、そんなビッグイベントの1日目の基調講演ですが、最初っから盛りだくさん。

ただ、どちらかというと1日目の基調講演はビジネス寄りでしたね。

特に、UNIQLOの株式会社ファーストリテイリングのCEO柳井さんの登場と、協業事業「アリアケ」の発表が大きな注目を浴びました。

Image may be NSFW.
Clik here to view.
Googleが日本で複数のAI関連事業を立ち上げ、UNIQLOとパートナーシップも | TechCrunch Japan
Googleが今日(米国時間9/18)東京で行われたCloud Next 2018イベントの場を利用して、日本市場にフォーカスした二つのイニシアチブを発表したのは、当然のことだ。このイベントはメインのカンファレンスがサンフランシスコで行われ、複数の国際的イベントが東京など各地で行われる。

その他、技術系の発表もありましたが、それらについては他の記事におまかせするとして、G Suiteを中心に発表された内容をまとめてみます。

G Suiteは14億のアクティブユーザー、400万社の契約

G Suiteは月間アクティブユーザーが14億…!ユーザー数ではなくて、月間アクティブユーザー数ですよ。

そして、契約社数が400万。確か、毎年100万契約ずつ増えているという勢いです。

周りを見ると、まだG Suiteを使っていない会社のほうが多い印象なので、まだまだ増える余地はありますよね。

セキュリティセンターの調査ツール

セキュリティセンターはG Suite管理者がひと目でいろいろなセキュリティに関するアクティビティを把握することができるダッシュボードで、G Suite Enterprise以上で利用可能です。

今回、このセキュリティセンターに「調査ツール」という機能が導入されたという発表がありました。

Image may be NSFW.
Clik here to view.
セキュリティセンターの調査ツール

管理者はこれにより、セキュリティに関する調査や管理をコンソールから簡単に行えるそう。

今回は「セキュリティ」「セキュア」というワードもよく聴きましたし、それを表す「盾」のアイコン画像も非常によく目にしましたね。

Google Cloudがセキュリティを超重要視していることがわかります。

デジタル変革を可視化するワークインサイト

G Suiteの利用状況やコラボレーション状況を把握することができる、ワークインサイトという新機能の発表がありました。現在はベータ版として提供されています。

このツールにより、どのチームがトレーニングを必要としてるか、またチームごとのG Suiteの各アプリのアクティブ率や、チーム同士が協働できているかどうかを把握することができるようになります。

Image may be NSFW.
Clik here to view.
ワークインサイト

Image may be NSFW.
Clik here to view.
G Suiteによる企業のデジタルトランスフォーメーションの進捗を測るツールWork Insights | TechCrunch Japan
東京で行われたイベントでGoogleが今日(米国時間9/18)、社員たちのG Suite生産性ツールの使用状況や、それらのツールをコラボレーションに利用している状況を知るためのツールWork Insightsのローンチを発表した。 さらにGoogleは、G Suiteのデータのセキュリティを向上させるための調..

これ…導入したら超面白い発見がありそうですよ。

「機械学習」の導入が進む

今回のイベントは全体を通して「AI」という言葉よりも「機械学習」という言葉のほうがよく使われていたという印象があります。

G Suiteにおいても、機械学習に関連した多数の実績とリリースが発表されました。

まず、すでに導入されている事例として

  • スプレッドシートのデータ探索
  • Gmailのスマートリプライ

があります。

Gmailのスマートリプライは、メールの返信例を3つ、レコメンドしてくれる機能ですが、Gmailアプリの返信のうち10%がスマートリプライで行われているそうです。

また、今回新たに発表されたのが

  • Gmailのスマートコンポーズ
  • カレンダーの会議室自動提案
  • ドキュメントの文法チェック&校正

といった機能です。

Gmailのスマートコンポーズは英語版のみのようですが、メールでいくつかの単語を入力した段階で文脈を解析して、その後に打つであろう文章を予測アシストしてくれる機能です。

これは…すごい!

日本語、いつになりますかね…?

ちょっと時間かかりますかね。

しかし、機械学習が本格的に各アプリケーションに搭載されてきましたね…今までは1つ2つという感じでしたが、あっちもこっちも機械学習が使われているという状況になってきました。

まとめ

以上、Google Cloud Next 2018とは何か、またその1日目基調講演から、G Suite関連のニュースを紹介しました。

G Suiteに限らず、強く訴求していたのは「セキュリティ」と「機械学習」ですね。

セキュリティに関しては、極限まで経営者が納得でき、そして管理者が管理しやすいように。

機械学習に関しては、G Suiteのいたるところに用いられている、そんな未来がかなり現実的になってきたように思えます。

さて、他にも魅力的なセッションが多数ありましたので、レポートをしていきますね。

どうぞお楽しみに!

ノンプログラマーでもわかる機械学習とそのビジネスへの活用イメージ

Image may be NSFW.
Clik here to view.
machine-learning-project

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

先日、2018年9月19日/20日の2日間にわたって開催された、Googleの最新のクラウドの世界を体験できるイベント「Google Cloud Next 2018」に参加してきました。

Google Cloud Next 2018で提供されたプログラムのうち、ノンプログラマー向けにためになりそうなものをいくつかレポートしております。

前回の記事はコチラです。

Image may be NSFW.
Clik here to view.
Google Cloud Next 2018とは、またその基調講演で発表されたG Suiteのビッグニュース
参加してきました「Google Cloud Next 2018」!今回はそのレポート第1弾、Google Cloud Next 2018とは何か、また1日目の基調講演からG Suite関連のニュースをお届けします。

Google Cloud Next 2018とは何か、また1日目の基調講演で話されたG Suiteに関するニュースをお伝えしました。

今回お伝えするテーマは「機械学習」

キーワードはものすごく耳にするようになりましたが、特に非IT職では「ぽか~ん…」って感じになりますよね。私もそうです。

そんな人たちに、ものすごく丁寧に解説してくださったプログラムがありました。

Google Cloudの中井悦司さんと下田倫大さんによるセッション「ビジネス視点で考える現実世界の機械学習とデータサイエンス 〜 AI をブラックボックスにしないデータ活用術 〜」、レポートをしていきますね。

ちなみに、ノンプログラマー向けのGoogle Cloud Next 2018 ツイートをこちらでまとめていますので、合わせてご覧くださいませ。

Image may be NSFW.
Clik here to view.
ノンプログラマーのためのGoogle Cloud Next 2018まとめ
2日間にわたって開催されたGoogle Cloud Next 2018。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

では、行ってみましょう!

AIとは?機械学習とは?ディープラーニングとは?

「AI」「人工知能」、「機械学習」、「ディープラーニング」といったワードはいずれも完全にバズワードとなっていますね。

ただ混同しがちなので、私も含めて整理しておきましょう。

中井さんによると、AI(人工知能)とは

知性を持っているような機能を提供する製品、サービス

機械学習とは

「過去のデータ」を基にして「未知のデータ」に対する予測を行う技術

のことで、ディープラーニングとは

機械学習のいち分野。画像や音声などの非構造化データに強い技術

ということです。

Google Homeは完全に「AI」ですよね。話しかけると、その言葉を解析して、その結果を生成して、音声として返してくれます。

その音声認識や回答の予測に、絶賛使われている技術が「機械学習」、そしてその中でも非構造化データである音声に強い「ディープラーニング」の技術を応用しているということになりますね。

中井さん、とてもわかりやすいです。

「機械学習で何ができるかわからない」を突破するためのステップ

それで、実際に「機械学習」をビジネスに活用しよう!…って偉い人が言い出したところで、何をどうしていいかわかりませんよね…

ビジネスオーナーは、機械学習で何ができるかイマイチわかっていないわけです。

一方で、機械学習の技術を理解しているデータアナリストの方々は、ビジネスオーナーが機械学習を使って何を成し遂げたいのかがわからない…

こんなジレンマが発生するそうです。(機械学習でない領域でも、あるあるな気が…)

そのジレンマを突破するステップを教えてくださいました。

ステップ1 過去のデータを読み取る

まず、おそらくビジネスマンであれば普通にやっていることですが、過去のデータを読み取ることからです。

データが揃っていることが前提ですが、データさえあれば、どんなことが起きていたのかは読み取ることができますよね。

いわゆる統計分析を通して、データの意味を理解するというステップです。

Image may be NSFW.
Clik here to view.
過去のデータを読み取る

ステップ2 今のデータから何が起きているかを理解する

過去のデータの見方がわかりました。

次のステップは、それをリアルタイムで取得できるようにダッシュボード化などをして、今、何が起きているかを理解して、ビジネス判断と結びつけるというフェーズです。

これをしている経営者さんは多いですよね。リアルタイム性が高いほど、判断が早くできます。(正しい判断かどうかは別ですが…汗)

Image may be NSFW.
Clik here to view.
今のデータから何が起きているかを理解する

ステップ3 未来のデータから今何をすべきかを理解する

ここまで来れば、機械学習の出番です。

おさらいになりますが、機械学習とは

「過去のデータ」を基にして「未知のデータ」に対する予測を行う技術

ですから、データが十分に蓄積されていれば、機械学習を使って未来を予測することができます。

その予測も踏まえてビジネス判断をすることで、よりプロアクティブつまり先見的な判断を早期に実施できるようになる、というわけです。

Image may be NSFW.
Clik here to view.
機械学習による未来のデータを使ってビジネス判断をする

この説明、ものすごくしっくり来たのですが、皆さんいかがですか?

Data Studioで今と未来を可視化するデモ

「Data Studio」というサービスがあります。

当ブログでもタダケン(@tadaken3)さんが紹介してくださっていますね。

Image may be NSFW.
Clik here to view.
圧倒的に見やすいダッシュボードを作成できる「Google Data Studio」が熱すぎる
簡単にKPIをまとめたダッシュボードを作成できる「Google Data Studio」を紹介します。KPIを可視化するダッシュボードを作れば、自社のサイトやビジネスの状況を常に把握できるようになります。

スプレッドシートやBigQueryなどのデータを可視化、ダッシュボード化する無料のサービスです。無料って、すごいっすね。

このData Studioを使ったデモを下田さんが実演して見せてくださいました。

まず、BigQueryに溜め込んだデータを、Data Studioに可視化します。

つまり、これで「今」のデータが見られるようになったわけですね。デモではIoT機器の不調が「しきい値」を超えちゃったかどうかを検知するダッシュボードを作られていました。

Image may be NSFW.
Clik here to view.
Data StudioでBigQueryのデータを可視化

続いて、登場する必殺技が「BigQueryML」。MLは「Machine Learning」の略です。

つまり、BigQuery上で機械学習モデルを作って予測をすることができちゃうというやつです。

Image may be NSFW.
Clik here to view.
GoogleのBigQueryの中で機械学習のモデルを作れるBigQuery ML…データの移動が要らない | TechCrunch Japan
機械学習のモデルの構築にはまだ多くの障害があり、その一つが、データのあるところからモデルを構築するところへ、大量のデータを移動することだ。Googleはその工程を少しでも容易にするために、データウェアハウスBigQueryの中でモデルを作れる機能、 BigQuery MLを立ち上げた。

その結果をData Studio上に展開したところがコチラ。各機器の未来のステータス予測を表示させています。

Image may be NSFW.
Clik here to view.
BigQueryMLによる機械学習予測をData Studioで可視化

おお、素晴らしいですね…!

これまでは、過去と現在のデータを見て、人が未来を予測して判断をしていたわけで、ただその判断には思い込みや期待などのバイアスが入ってしまいます。

その未来の予測を、機械学習が担ってくれるわけです。

これは味方につけたら強力ですよね…!

まとめ

以上、Google Cloud Next 2018から、ノンプログラマーでもわかる機械学習について、またそのビジネスへの活用イメージについてお伝えしました。

デモを見る限り簡単そうには見えたのですが、実際は知るべき知識、学ぶべきことが、おそらくたくさんあるものと思います。

ただ、これからを考えると何も知らないよりは、入り口だけでも理解できているほうが良いに決まってます。

前回レポートした通り、G Suiteにも機械学習を活用した機能がガンガン追加されています。

Image may be NSFW.
Clik here to view.
Google Cloud Next 2018とは、またその基調講演で発表されたG Suiteのビッグニュース
参加してきました「Google Cloud Next 2018」!今回はそのレポート第1弾、Google Cloud Next 2018とは何か、また1日目の基調講演からG Suite関連のニュースをお届けします。

最後に中井さん曰く、とはいえ

未来の予測はたいへんなこと、試行錯誤が必要なんです

と機械学習のモデルをブラッシュアップし続けることが大事だと強調されていました。

今後どれだけのビジネスが機械学習を味方につけていくのでしょうか…?

次回ですが、また別のセッションについてレポートをしていきますね。

どうぞお楽しみに!

ノンプログラマーのための「Google Cloud Next 2018」レポート

2018年9月19,20日の2日間にかけて行われたGoogleの最新のクラウドを体験できるイベント「Google Cloud Next 2018」。その中からノンプログラマー向けにレポートをしていきます。

【Outlook VBA】今開いているOutlookウインドウを操作しよう!Inspectorオブジェクトの取得

Image may be NSFW.
Clik here to view.
outlook_vba_inspector_eyecatch

みなさまこんにちは、ノグチです。

メールに添付されたファイルを、自分のPCやGoogleドライブ等に保存しておきたいことってありますよね。

Outlookで添付ファイルを保存しようとすると、まず添付ファイルを選択して、ドロップダウンメニューから「名前を付けて保存」をクリックして、保存先のフォルダを選択して…と、大した手間ではないですが地味に面倒だったりします。

1ファイルだけとかならまだしも、複数のメールに対してこの作業をやるとすると、面倒臭いことこの上ありません。

ということで今回から複数回記事渡って、Outlook VBAで、ワンクリックで今開いているメールの添付ファイルを指定のフォルダに保存する方法をご紹介していきます。

メール添付ファイルをフォルダに保存するまでの大まかな流れ

さて、添付ファイルをワンクリックで!と申し上げましたが、VBAでのそこまでの道のりは少々ややこしいので、先に大まかな流れをご紹介しておきますね。

  1. 今開いているOutlookのウインドウのInspectorオブジェクトを取得
  2. 取得できたInspectorオブジェクトからMailitemオブジェクトを取得
  3. 取得できたMailItemオブジェクトからAttachmentsオブジェクトを取得
  4. Attachementsオブジェクトから添付ファイルのAttachementオブジェクトを取得
  5. AttachmentオブジェクトのSaveAsFileメソッドで、添付ファイルを任意フォルダに保存

これが大まかな流れなのですが、読んだだけでは「なんのこっちゃ」ですよね。

順を追ってご紹介していきます。

今回の記事では、

  1. 今開いているOutlookのウインドウのInspectorオブジェクトを取得

についてご紹介をしていきたいと思います。

ActiveInspectorメソッドでInspectorオブジェクトを取得する

Inspectorオブジェクトとは?

まずは、Outlookのウインドウで今開いているアイテムの情報を取得しましょう。

Outlookで今開いているアイテムのウインドウ(メール、予定、連作先など)は、Inspectorオブジェクトで操作します。

Inspectorオブジェクトは、「今、Outlookで開かれているウインドウ」を操作するオブジェクトです。

この「Outlookで」というところがポイントで、IEやExcelのウインドウを同時に開いていたとしても、このオブジェクトで操作できるのは、あくまでOutlookで開いているウインドウ、すなわちメール、予定、連絡先、タスクなどのOutlookのアイテムウインドウのみです。

ActiveInspectorメソッド

そしてこのInspectorオブジェクトを取得するためのメソッドが、ApplicationオブジェクトActiveInspectorメソッド。

ActiveInspectorオブジェクトは、Outlookの「今画面に表示されている」アイテムをInspectorオブジェクトとして返してくれるメソッドです。

Application.ActiveInspector

複数のOutlookウインドウをを開いていた場合は?

注意ですがActiveInspectorメソッドを実行した時に、このように複数のOutlookウインドウを開いていた場合、一番手前のウインドウがInspectorオブジェクトとして返されることになります。 Image may be NSFW.
Clik here to view.
outlook,vba,複数ウインドウ

図の場合だと、メールA~Cの3つのウインドウが開いていますが、この状態でActiveInspectorメソッドを実行すると、メールAのウインドウがInspectorオブジェクトとして返ってくるということですね。

Outlookウインドウを開いていなかった場合は?

ちなみに、Outlookのアイテムウインドウを開いていない状態でActiveInspectorメソッドを実行すると…

Image may be NSFW.
Clik here to view.
outlook,vba,ActiveInspector

この通り、実行時エラーとなってしまいます。

ウインドウが開いていなければ、取得できるオブジェクトもありませんからね。

とはいえ、「取得できるオブジェクトがありません」のようなエラーメッセージにはならないものかな?とは思ってしまいます。

Inspectorオブジェクト取得をコードにしてみる

さて、ここまで最初にご紹介した大まかな流れのうち、

  1. 今開いているOutlookのウインドウのInspectorオブジェクトを取得

をご紹介しました。

ここまでをVBAコードに落としてみると、こんなコードになります。

Sub SaveAttachmentFile()
Dim objIns As Inspector

Set objIns = Application.ActiveInspector

End Sub

最後に

今回は、Outlookのメール添付ファイルをフォルダに保存するための手順の一部として、InsPectorオブジェクトとは?と、今開いているOutlookウインドウのInspectorオブジェクトの取得方法をご紹介しました。

最初の大まかな流れでご紹介した通り、色々なメソッドやプロパティを駆使しますが、整理して順を追っていけば、特別に難しいことではありません。

次回記事では、今回の記事で取得したInspectorオブジェクトからMailItemオブジェクト取得についてご紹介していきます。

それでは、最後までお読みいただきありがとうございました!

連載目次:はじめてのOutlook VBA

Outlook VBAで、予定やタスクの登録方法など、Outlookを操作する方法をご紹介しています。メーラーやスケジューラとして便利なOutlookですが、VBAで更に便利なツールにしてしまいましょう!

  1. 【はじめてのOutlook VBA】Outlookの予定を登録する方法
  2. 【Outlook VBA】エクセルワークシートの内容で予定登録する方法

Googleがいよいよ本気を出した!Hangouts Chatとこれからの展望

Image may be NSFW.
Clik here to view.
hangouts-chat

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

2018年9月19,20日の2日間で開催されたGoogleの最新クラウドを体験できるイベント「Google Cloud Next 2018」の参加レポートをノンプログラマー向けにお届けしています。

前回の記事はコチラです。

Image may be NSFW.
Clik here to view.
ノンプログラマーでもわかる機械学習とそのビジネスへの活用イメージ
「Google Cloud Next 2018」に参加してきました!今回お伝えするのは「機械学習」。ノンプログラマーでもわかるように丁寧に解説いただいた素敵なセッションについてレポートをしていきますね。

ズバリ機械学習とは何か、またそのビジネスへの活用イメージについて、ノンプログラマー向けに紹介しました。

さて、今回のテーマは「Hangouts Chat」です。

弊社としてはチャットワークをメインで使用していますが、コミュニティ「ノンプロ研」ではSlackです。

Microsoftも、Facebookも、LINEも参入しているこの「ビジネスチャット」というレッドオーシャン。

Googleが「Hangouts Chat」でどのように攻め入ろうとしているのか…気になりませんか?

ということで、Google Cloudの深堀まど佳さん、倪明昊さんによるセッション「Hangouts Chat で変わる新しい働き方 〜 チームコラボレーションからチャットボッ卜の開発方法まで」についてレポートをしていきます。

ちなみに、ノンプログラマー向けのGoogle Cloud Next 2018 ツイートをこちらでまとめていますので、合わせてご覧くださいませ。

Image may be NSFW.
Clik here to view.
ノンプログラマーのためのGoogle Cloud Next 2018まとめ
2日間にわたって開催されたGoogle Cloud Next 2018。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

では、行ってみましょう!

チームコラボレーションの課題

Hangouts Chatの話題に入る前にチームコラボレーションが抱える課題について共有をしておきます。

この課題があまりにも大きいから、各社がこぞって参入をしてきているという背景があるからです。

まず、複数部門とのコラボーレーションが「最重要課題」と感じている従業員の割合がなんと65%

Image may be NSFW.
Clik here to view.
チームコラボレーションの課題

みんな、他部門とのやり取り…うまくいってないと感じているんですね。

もう一点、2020年までにリモートワークをする可能性のある従業員は50%に上るという予測があります。

Image may be NSFW.
Clik here to view.
チームコラボレーションの課題

これらの問題を解決するツールとしてチャットが注目されているわけです。

Hangouts Chatとは

Hangouts Chatは、Googleが提供をしているチャットツールです。

G Suiteに契約している組織であればドメイン内のコミュニケーションをチャットで行うことができます。(残念ながら、外部とのコミュニケーションはできないようです。)

Image may be NSFW.
Clik here to view.
Hangouts Chat - チーム全体で集まる | G Suite
安全なダイレクト メッセージの機能と、チームで共同作業するのに便利な作業場所が、G Suite の一部として組み込まれました。無料でお試しいただけます。

主に3つの機能が提供されています。

  • マンツーマンでメッセージをやり取りをする「ダイレクトメッセージ」
  • プロジェクトやチームごとにルームを作って、ルーム内でコミュニケーションをする「チャットルーム」
  • Googleやサードパーティ製のBotを利用、または独自開発できる「チャットボットプラットフォーム」

Image may be NSFW.
Clik here to view.
Hangouts Chatの3つの機能

他社のチャットサービスもたくさんありますが、Hangouts Chatならではの特徴を紹介していきます。

G Suiteとの連携がスムーズ

まずやはり「G Suiteとの連携」が挙げられます。

ドライブに保存しているファイルの共有やプレビュー、Meetによるビデオ通話の開始などがアイコンからスムーズに行えます。

Apps Scriptのプロジェクトファイルも添付できました。

Image may be NSFW.
Clik here to view.
Hangouts ChatでApps Scriptプロジェクトファイルを添付

検索機能

もう一点、やはりGoogleということで検索機能です。

以下図にある通り、ルームと人とファイル形式の掛け算でサクサクと検索をすることができます。

Image may be NSFW.
Clik here to view.
Hangouts Chatで検索

これはかなり直感的ですよね。

個人的に使ってみた感想

以下、個人的な感想です。

まず「スレッド」の概念が強いです。

Slackでは、投稿に対して返信をして初めてスレッドが生まれるイメージです。そして「開け閉め」ができます。

チャットワークにはスレッドの概念自体がありません。

Hangouts Chatでは、まずスレッドを作成するところから始まり、くっきりスレッドごとに会話をしていくイメージです。

あとは、弊社はひとり会社なので、ドメイン内だけの使用だと使いどころが…ないです。

ただ、ヘルプページには

現在のところ、チャットできる相手はドメイン内のユーザーのみです。

とありますので、今後のアップデートに期待したいです。

Hangouts Chatがどう攻めていくか

それで、後発としてSlackなどを追いかける立場のGoogleが、どのようにHangouts Chatで仕掛けていくのか、その点については以下2点がヒントになると考えました。

スマートリプライの搭載と機械学習

まず、スマートリプライが搭載されるという発表がありました。

Image may be NSFW.
Clik here to view.
Hangouts Chatスマートリプライ

英語版が先行ですが、Gmailで日本語版がすでに搭載されていると考えると、比較的スピーディにローンチされると期待できます。

また、ということは、今回発表のあったスマートコンポーズのような機能も搭載されていくことになるのでしょうか。

いずれにしても、機械学習を全面に押した機能がどんどん追加されていくということを期待できるはずです。

Bot

もうひとつはBotです。

プラットフォームなので、Googleやサードパーティが用意したBotを活用することもできるのですが、自作をすることができます。

Bot作りはSlackでもチャットワークでも可能ですが、Googleならではの武器が2つあります。

一つは、ノンプログラマーでも簡単にプログラミングができる「Google Apps Script」です。

けっこう前から、Google Apps Scriptのドキュメントのトップページに、Hangouts Chatのアイコンがあるのです。

Image may be NSFW.
Clik here to view.
Apps Scriptドキュメントトップページ

Bot作りもやってくれよ!っていうメッセージなんでしょうね。

そしてもう一つの武器が、自然言語で会話できるBotを作るプラットフォーム「Dialgflow」です。Googleが得意とする機械学習の叡智を活用することができるわけです。

Google Apps ScriptによるBot作成デモ

Google Apps ScriptによるBot作り方のデモをいただきましたので、紹介していきますね。

まず、Botの動作イメージとしては、以下のようになります。

  1. 社員がBot宛にメッセージを送信する
  2. Botがその内容に応じて設定されたスクリプトにリクエストをして呼び出してくれる
  3. 呼び出されたスクリプトを動作させ、Botに何らかのリターンを返す
  4. Botを経由して、Hangouts Chatに結果が表示される

Image may be NSFW.
Clik here to view.
GASによるHangouts Chat Botの作成

なので、我々がやるべきことは

  1. スプレッドシートなどにデータベースを準備(必要であれば)
  2. スクリプトを作る
    • Botからのリクエストを受け取る処理
    • 受け取った内容に応じてリターンを返す処理
  3. デプロイ
    • Cloud Platformプロジェクトとして公開
    • GCPのHangouts Chat APIで設定

という手順になります。

おそらくGASをやったことある方なら、すぐにできそうな気がします。

以下にチュートリアルがありますので、興味がある方はトライしてみると良いと思います。

Image may be NSFW.
Clik here to view.
Google Apps Script bot  |  Hangouts Chat API  |  Google Developers

あとは、自然言語処理のDialogflowがどこまで易しく使えるかですね…ここに関してはデモはなかったので、機会があればチェックしてみたいところです。

まとめ

以上、Google Cloud Next 2018からのレポートとしてHangouts Chatの紹介と、これからの展望についてお伝えしました。

ビジネスチャット領域でいうと、日本では導入していない企業が多いので、まだまだチャンスがあるように思えます。

そのフックとして、以下のようなラインナップがあるわけですね…。

  • G Suite内との連携と検索
  • 機械学習を使った機能の搭載
  • GASによる手軽なBot開発
  • Dialogflowによる自然言語を使ったBot開発

これからどのような戦局になるのか、ワクワクドキドキしますね。

個人的には、外部ドメインのユーザーを招待したいですが…(そうしないと「独り言」以外に使いどころがないっす)

以上となります。

次回は、「Googleドライブ」のセッションについてレポートをしていきますね。

Image may be NSFW.
Clik here to view.
Google Cloud Next 2018からGoogleドライブの怒涛の新機能リリースまとめ
Google Cloud Next 2018のレポート。今回は「徹底解説Googleドライブ〜機械学習を使ったスマートなコンテンツコラボレーション〜」からGoogleドライブについて怒涛の新発表をまとめてお送りします!

どうぞお楽しみに!

連載目次:ノンプログラマーのための「Google Cloud Next 2018」レポート

2018年9月19,20日の2日間にかけて行われたGoogleの最新のクラウドを体験できるイベント「Google Cloud Next 2018」。その中からノンプログラマー向けにレポートをしていきます。
  1. Google Cloud Next 2018とは、またその基調講演で発表されたG Suiteのビッグニュース
  2. ノンプログラマーでもわかる機械学習とそのビジネスへの活用イメージ
  3. Googleがいよいよ本気を出した!Hangouts Chatとこれからの展望
  4. Google Cloud Next 2018からGoogleドライブの怒涛の新機能リリースまとめ

【エクセルVBAでIE操作】画像タイプの送信ボタンをクリックする

Image may be NSFW.
Clik here to view.
画像ボタンクリックアイキャッチ画像

こんにちは!もり(@excelprog)です!

前回の記事では、ユーザー名とパスワードを入力してログインする方法をお伝えしました。

Image may be NSFW.
Clik here to view.
【エクセルVBAでIE操作】ユーザー名とパスワードを入力してログインをする
エクセルVBAでInternet Explorerを操作する初心者向けのシリーズ。今回はエクセルVBAでIEを操作してフォームにユーザー名とパスワードを入力してログインをする方法についてお伝えします。

Webシステムにログインする時には「ログインボタン」をクリックしますよね。このログインボタンは、IDやパスワードなどのユーザが入力した情報を、サーバサイドに送信するためのボタンです。

今回の記事では、画像タイプの「送信ボタン」をクリックする方法を紹介していきますよ。

画像タイプの送信ボタンとは

画像タイプの送信ボタンとは、「画像ファイル」をボタンのような見た目として作られている「送信ボタン」です。

実際のサンプルをみてみましょう。題材はSMBC日興証券オンライントレードのログインページです。

Image may be NSFW.
Clik here to view.
日興証券ログイン画面

「ログインボタン」に注目してみると、このようにカギのマークがついていてオシャレですね。

Image may be NSFW.
Clik here to view.
日興証券ログインボタン画像

デザイン方法が気になるこのオシャレなボタンこそが、ボタンの見た目をした画像ファイルなのです。

GoogleChromeの検証機能でボタンのHTMLをみてみましょう。(検証機能の使い方は前回の記事をご覧くださいね。)

inputタグtype属性の値がimageになっていて、src属性で画像ファイル(.gif)のURLが設定されています。

このような作りにすることで「画像タイプの送信ボタン」が作成できるのです。

(おさらい)IE起動からID・パスワード入力までの操作

これは前回のおさらいです。IEの起動からHTMLドキュメントの読み込み処理です。

URLには、題材の日興証券ログインページを指定しています。

Dim objIE As InternetExplorer 'IEオブジェクトを準備
Set objIE = CreateObject("Internetexplorer.Application") '新しいIEオブジェクトを作成してセット
 
objIE.Visible = True 'IEを表示
 
Dim strUrl As String '次ページのURL
strUrl = "https://trade.smbcnikko.co.jp/Etc/1/webtoppage/"
 
objIE.navigate strUrl 'IEでURLを開く
 
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE '読み込み待ち
    DoEvents
Loop
 
Dim htmlDoc As HTMLDocument 'HTMLドキュメントオブジェクトを準備
Set htmlDoc = objIE.document 'objIEで読み込まれているHTMLドキュメントをセット

ログインするためには支店コード・口座番号・パスワードを入力する必要があるので、それぞれのテキストボックスのid属性を確認します。

このとおり確認できます。

  • 支店コード:id属性=”padInput0″
  • 口座番号:id属性=”padInput1″
  • パスワード:id属性=”padInput2″

getElementByIdメソッドの引数にid属性を指定してテキストボックスに値を入力するコードがこちらです。

htmlDoc.getElementById("padInput0").Value = "123" '支店コード
htmlDoc.getElementById("padInput1").Value = "123456" '口座番号
htmlDoc.getElementById("padInput2").Value = "password" 'パスワード

name属性の値からボタンを特定してクリックする

さてここからが今回の本題!画像タイプのボタンをクリックする方法を紹介していきます。

流れはこのようになります。

1.name属性が指定値である「要素タグのコレクション」を取得する
2.取得したコレクションの中から、目的のボタンを取り出す
3.目的のボタンをクリックする

要素タグのコレクションを取得する

getElementsByNameメソッドを使用して「要素タグのコレクション」を取得します。

HTMLDocumentオブジェクト.getElementsByName(name属性の値)

ターゲットであるログインボタンのHTMLをもう一度確認します。

name属性の値はlogInですね。getElementsByNameメソッドの引数に文字列型で指定します。

コレクションを格納する変数には、IHTMLElementCollection型のオブジェクト変数を用意します。

Dim loginBtns As IHTMLElementCollection
Set loginBtns = htmlDoc.getElementsByName("logIn")

これで、name属性が”logIn”の「要素タグのコレクション」が変数loginBtnsに格納されました。

【イメージ】
Image may be NSFW.
Clik here to view.
loginBtn1-2

コレクションの中から目的のボタンを取得する

コレクションにインデックスを指定して、目的のオブジェクト(ログインボタン)を取り出します。

IHTMLElementCollection(インデックス)

「インデックス」とは、配列やコレクション全体の中の何番目であるかを示す番号です。要素番号・添え字と呼んだりもします。

今回のターゲットであるログインボタンのname属性=”logIn”が全体の何番目に登場するかHTMLで確認します。

Ctrl+Uで画面の全ソースを表示して、Ctrl+Fで登場する検索ボックスで検索します。

Image may be NSFW.
Clik here to view.
画像ボタンname属性の検索

name属性=”logIn”はページ内に1つのみであることが確認できました。

さきほどのコレクションのイメージ図では複数の要素タグを格納する絵を示しましたが、このログインボタンの場合は、コレクションの中身が1つだけということになります。

全体の1番目なので、インデックスには0を指定します。

IHTMLElement型のオブジェクト変数を用意して、コレクションの中から取り出したオブジェクトへの参照を格納します。

Dim loginBtn As IHTMLElement
Set loginBtn = loginBtns(0)

これで、コレクションの中から「ログインボタン」のオブジェクトを取り出し、その参照を格納できました。

【イメージ】
Image may be NSFW.
Clik here to view.
loginBtn2-2-2

特定したボタンをクリックする

「ボタン」の参照が格納されているオブジェクト変数loginBtnにClickメソッドを実行してクリックします。

IHTMLElementオブジェクト.Click

コードがこちらです。

loginBtn.Click

これで、今回の目的である「画像タイプの送信ボタンをクリック」ができて、無事にログインができました!

Image may be NSFW.
Clik here to view.
日興証券ログイン後画面

クリック処理のコードまとめ

さて、ここまでの処理はこのように1行で記述することもできますが、

htmlDoc.getElementsByName("logIn")(0).Click

今回の記事では、処理の仕組みを詳しく説明するために5行に分けて記述しました。

Dim loginBtns As IHTMLElementCollection
Set loginBtns = htmlDoc.getElementsByName("logIn")

Dim loginBtn As IHTMLElement
Set loginBtn = loginBtns(0) 'コレクションの1番目の要素を取得

loginBtn.Click

  • 1~2行目:name属性=logInの要素タグをコレクションに格納する
  • 3~4行目:コレクションの中から目的のオブジェクト(ボタン)を取り出して、その参照を格納する
  • 5行目:Clickメソッドでクリックする

IE操作で使用するMSHTMLライブラリは、型の名称・メソッド名などが複雑なので、こうして処理を分けて記述してみることでより理解が深まりますよ。ぜひ試してみてくださいね。

まとめ

「画像タイプの送信ボタン」を、name属性の値を使用してクリックする方法をお伝えしました。

ただし、ボタンの作りによっては、inputタグの中にname属性が存在しない場合があります。
name属性がないとオブジェクトが取得できずクリックできない・・・?

大丈夫です!次回はinputタグの他の属性を使用したクリック方法を紹介していきます。

どうぞお楽しみに!

連載目次:エクセルVBAでIEを操作してWEBスクレイピング

IEを操作してWEBページのデータを取得して、エクセルのデータとして取り込む、つまりWEBスクレイピングをエクセルVBAで実現します。各種WEBページを課題として様々なデータの取得の仕方を解説していきたいと思います。
  1. 【エクセルVBAでIE操作】10分で終わるセッティングとWEBページの閲覧確認
  2. 【エクセルVBAでIE操作】HTMLタグと要素そしてドキュメントの取得
  3. 【エクセルVBAでIE操作】ブラウザの読み込み待ちをしないとダメなのです
  4. 【エクセルVBAでIE操作】ページ内のリンク先URLを全部取得する
  5. 【エクセルVBAでIE操作】ディスクリプションなどの要素をname属性でGetする
  6. 【エクセルVBAでIE操作】hタグなどの要素をタグ名でGetする
  7. 【エクセルVBAでIE操作】WEBページのテーブル要素を自動で取得する方法
  8. 【エクセルVBAでIE操作】IEで検索窓にキーワードを入力して送信する方法
  9. 【エクセルVBAでIE操作】ページをクロールしてブログの記事一覧を取得する方法
  10. 【エクセルVBAでIE操作】ブログの記事一覧ページから公開日とカテゴリを取得する
  11. 【エクセルVBAでIE操作】ページャーを最後のページまでどんどんリンクする
  12. 【エクセルVBAでIE操作】ユーザー名とパスワードを入力してログインをする

Google Cloud Next 2018からGoogleドライブの怒涛の新機能リリースまとめ

Image may be NSFW.
Clik here to view.
google-drive-vision

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

「Google Cloud Next 2018」の参加レポートをノンプログラマー向けということでお送りしております。

前回の記事はコチラ。

Image may be NSFW.
Clik here to view.
Googleがいよいよ本気を出した!Hangouts Chatとこれからの展望
Googleの最新クラウドを体験できるイベント「Google Cloud Next 2018」の参加レポートをお届けしています。今回は「Hangouts Chat」とは何か、またBotの作り方です。

さて、次のレポートのテーマは「Googleドライブ」です。

Googleドライブといえば、前回の発表もTeam Driveやら、Drive File Streamやら、ものすごいパワーアップっぷりだったのが記憶に新しいです。

Image may be NSFW.
Clik here to view.
その進化により企業向けクラウドストレージはGoogleドライブ一択になる
本記事ではGoogle Cloud Next Tokyoで発表された「Team Drivesを使ったファイルサーバのクラウド移行」からGoogleドライブの強みとこれからについてレポートします。

ですが、ですが…!

今回の発表も凄まじかったです。新発表が多すぎる…!

ということで、お送りしていきます。

Google Cloudの赤阪量さんによるセッション「徹底解説Google ドライブ 〜機械学習を使ったスマートなコンテンツコラボレーション〜」のレポートです。

ちなみに、ノンプログラマー向けのGoogle Cloud Next 2018 ツイートをこちらでまとめていますので、合わせてご覧くださいませ。

Image may be NSFW.
Clik here to view.
ノンプログラマーのためのGoogle Cloud Next 2018まとめ
2日間にわたって開催されたGoogle Cloud Next 2018。私タカハシ(@ntakahashi0505)が参加したセッションを中心に、ノンプログラマー向けにツイートをまとめました。

では、行ってみましょう!

Driveエンタープライズ

まず、Googleドライブ単体で契約したい企業向けのサービス、「Driveエンタープライズ」です。

G Suiteは全部いらないけど…という企業向けですね。

注目は、その料金体系で、アクティブユーザー一人あたり月額860円、1GBあたり4.5円という設定になっています。

Image may be NSFW.
Clik here to view.
 Driveエンタープライズ

「アクティブユーザー」です。ということは、社員が10000人いてもアクティブなユーザーが1人だったら、月額860円です…!

まあ、個人的にはG Suiteを使いなさいという感じですけどね。

Image may be NSFW.
Clik here to view.
GoogleがGoogle Driveを単独のサービスとしても提供、いずれはG Suiteのユーザーにするつもり? | TechCrunch Japan
企業でGoogle Driveを使いたければ、G Suiteの有料会員になるしかない。そこに含まれる、いろんな生産性ツールに用がなくても。でも今日(米国時間7/25)からは、あなたの会社はGoogle Driveだけの有料会員ユーザーになれる。

リアルタイムプレゼンス

いやぁ…この機能がほんとすごい!

Drive File StreamでTeam Drive上のMicorsoft Officeのファイルを複数人が共同編集をすると、競合が起きますよね…?

リアルタイムプレゼンスはそれを防止する機能です。

例えば、誰かが編集中にそのファイルを開こうとすると…以下のように

「○○さんが編集しています。今編集を行うと複数のバージョンが作成される可能性があります。」

というメッセージが表示されます。

Image may be NSFW.
Clik here to view.
リアルタイムプレゼンス

「安全に編集可能になったら通知を受け取る」のチェックを入れておけば、編集が完了してから開くことができます。

…すごい!

というか、GoogleさんがMSさんのファイルを上手に利用できるように、こんな素敵な機能を開発しているという点が素晴らしい。ユーザーファーストですよね。

リアルタイムプレゼンスは10/17から一般提供開始です!!

Officeファイルにコメントを追加

もうひとつOfficeとの連携ネタです。Officeファイルにコメントを追加する機能です。

この機能は2018年2月からすでに提供されていて、Googleドライブのプレビュー表示状態でコメントを追加することができるというものです。

Image may be NSFW.
Clik here to view.
Officeファイルにコメントを追加

これでコメントを入れる際にOfficeアプリケーションでわざわざ開く必要がないわけです。出先などでは重宝しそうですね。

Image may be NSFW.
Clik here to view.
GoogleドライブがOffice文書やPDFとの互換性強化、コメントがファイル変換なしで使えるように - Engadget Japanese
Googleが、Googleドライブ上にあるWordやExcelといったMicrosoft OfficeファイルやPDF、画像などに直接コメントできる機能を追加しました。 Googleドライブ上にあるOfficeファイルは、これまでもプレビュー表示が可能でした。しかしコメントを見るためにはGoogleドキュメント形....

しかし、Officeにだいぶ歩み寄ってる感がありますね、Googleさん。

メタデータ

続いて紹介する機能はメタデータです。

これはドライブ上にキーバリュー形式の構造化メタデータを設定できる機能で、近日公開予定とのこと。

Image may be NSFW.
Clik here to view.
メタデータ

画面では「ステータス」→「完了/中止/新規」などとありますね…ワークフローや、ファイルのステータス管理などに使うイメージでしょうか。

GASなどで設定、変更、一覧取得などができると便利そうですが、どうでしょうか?

承認

次に紹介された機能が「承認」です。

ファイルに承認者を設定してリクエストをすることができる機能です。

Image may be NSFW.
Clik here to view.
承認

これは完全にワークフローで使えそうな機能ですね…!

こちらも近日公開予定となっています。

優先度ページ

まだ続きますよ!いよいよ機械学習機能です。

まず、「優先度ページ」です。

これはユーザーにとって優先順位が高いであろうファイルを表示する機能です。

…これだけであれば「クイックアクセス」と同じ?と思うかも知れませんが、それだけではありません。

  • 確認をしてね
  • コメントをしてね
  • 共有をしようね

…などといった、次のアクションも合わせてレコメンドするのです。

Image may be NSFW.
Clik here to view.
優先度ページ

この機能は…期待大ですよね!

Image may be NSFW.
Clik here to view.
企業用Googleドライブに「AIによる自動高優先度ファイル表示」とワークスペース機能が追加。ベータ提供中 - Engadget Japanese
間もなく、日本でも有料プランはGoogle Oneに改名されるGoogleドライブ、ファイルの整理は基本的にフォルダ毎です。きちんと整理できていれば問題ありませんが、どこにファイルを入れたのかなど、探すのが手間だったります。しかし、企業向けのG Suiteなら、その状況が変わるかもしれません。 GoogleはG S....

ワークスペース

優先度ページに並ぶ目玉機能が「ワークスペース」です。

これはそれこそクイックアクセスの強化版のような機能ですが、プロジェクトごとに関連するであろうファイルをホーム画面にグルーピングして表示してくれる機能です。

Image may be NSFW.
Clik here to view.
ワークスペース

こちらも機械学習が活用されていて、仕分け候補がレコメンドされます。手動でワークスペースを作成することも可能です。

Image may be NSFW.
Clik here to view.
企業用Googleドライブに「AIによる自動高優先度ファイル表示」とワークスペース機能が追加。ベータ提供中 - Engadget Japanese
間もなく、日本でも有料プランはGoogle Oneに改名されるGoogleドライブ、ファイルの整理は基本的にフォルダ毎です。きちんと整理できていれば問題ありませんが、どこにファイルを入れたのかなど、探すのが手間だったります。しかし、企業向けのG Suiteなら、その状況が変わるかもしれません。 GoogleはG S....

なお、優先度ページとワークスペースは早期アクセスとして申請ベースで利用可能です。

Image may be NSFW.
Clik here to view.
G Suite - Gmail、ドライブ、ドキュメントなど
Google のインテリジェントなアプリスイートで仕事の効率を上げることができます。ビジネス用のメール、ビデオ会議、オンライン ストレージ、ファイル共有などの機能をご利用ください。無料でご試用いただけます。

確認コードアクセス

最後はセキュリティ系の機能「確認コードアクセス」

Googleアカウントがなくても、ワンタイムコードを発行してファイルを共有可能になります。

Image may be NSFW.
Clik here to view.
確認コードアクセス

こちらも近日リリース予定となっています。

まとめ

以上、Google Cloud Next 2018からGoogleドライブの怒涛の新機能リリースをレポートしました。

いや…ほんとすごいですね。

個人的な印象は、まずMicrosoft Officeをかなり意識しているという件。

確かに、Officeファイルは企業としては重要な資産なので、そこはあえて優遇することで、ユーザー体験を高めようという素敵な判断が見えます。

もうひとつは、やはり機械学習ですね。

Googleと付き合っていれば勝手に機械学習を使えて、そして勝手に快適になる…それがかなり多面的になってきました。

さて、Google Cloud Next 2018、まだ素敵なセッションがありましたのでレポートしていきますよ。

どうぞお楽しみに!

連載目次:ノンプログラマーのための「Google Cloud Next 2018」レポート

2018年9月19,20日の2日間にかけて行われたGoogleの最新のクラウドを体験できるイベント「Google Cloud Next 2018」。その中からノンプログラマー向けにレポートをしていきます。
  1. Google Cloud Next 2018とは、またその基調講演で発表されたG Suiteのビッグニュース
  2. ノンプログラマーでもわかる機械学習とそのビジネスへの活用イメージ
  3. Googleがいよいよ本気を出した!Hangouts Chatとこれからの展望
  4. Google Cloud Next 2018からGoogleドライブの怒涛の新機能リリースまとめ

エクセルで営業日判定を実現するWORKDAY関数の使い方

Image may be NSFW.
Clik here to view.
WORKDAY関数アイキャッチ

みなさん、こんにちは!
フジタニ(@libartweb)です。

スケジュールは場合によっては「営業日」の計算が必要で、土日祝日を考慮しなきゃいけないことが多々あるかと思います。

例えば毎月8日固定の定例作業、土日祝日の場合は翌営業日に実施など・・・

エクセル関数を使いこなすことができれば、土日の判定はもちろん、祝日まで判定することが可能です。

毎月の定例作業などを表示するスケジュール表をエクセルを使って自動で作成することもできます。

今回は、スケジュール表の作成や見積書作成などの「営業日」計算が必要な際に便利なWORKDAY関数を紹介します!

エクセルで祝日を判定するには工夫が必要

エクセルは土日を判定することは可能なのですが、祝日の判定は標準の機能では不可能です。

土日の場合のみであれば以下のWEEKDAY関数の戻り値でその日付が何曜日か?を判定することができます。

WEEKDAY関数は日付が何曜日かを判定する関数です。

書式は下記の通り。

WEEKDAY(シリアル値,[種類])

引数として与えた日付が何曜日か?をデフォルトでは1(=日曜日)から7(=土曜日)の数値で返します。

引数「種類」はデフォルトで1です。他には以下の戻り値の種類があります。基本、デフォルトでOKです。

種類 戻り値
1(省略可) 1:日 2:月 3:火 4:水 5:木 6:金 7:土
2 1:月 2:火 3:水 4:木 5:金 6:土 7:日
3 0:月 1:火 2:水 3:木 4:金 5:土 6:日

しかし、祝日に関してはこういった関数を使用した「戻り値」で判定することは不可能です。

祝日を判定する機能を実現するには、一工夫が必要となってきます。

WORKDAY関数の使い方

祝日はデフォルトでは判断できません、そこでWORKDAY関数を使用します。

WORKDAY関数は引数として与えた日付から土日を除いた日数を計算することができます。更にそこから指定した日にち(祝日)を除いた日付を返します。

WORKDAY関数の書式は以下の通りです。

WORKDAY(開始日,日数,除外する日(祝日))
引数 設定内容
開始日 求めたい日付の基準日
日数 〇営業日後、前を指定
除外する日(祝日) 事前に設定しておいた祝日の表を範囲指定

例えば

  • 〇月〇日の5営業日後を求めたい
  • 〇月〇日の前営業日を求めたい

などといった土日祝日を考慮した営業日の計算を簡単に行えるのがこの関数の特徴です。

これをエクセルVBAなどでコーディングすると非常にややこしいことになるので、この関数の一番の利点として使うことができます。

前準備として祝日の一覧表を作成する

WORKDAY関数は指定の日にちを除外することができます。そこで、祝日の一覧をWORKDAY関数の除外日として扱うようにしましょう。

まずは、エクセル上に祝日一覧表を作成する必要があります。

WEB上に祝日の一覧が配布されていますので、それをコピーするのが一番早いでしょう。

Image may be NSFW.
Clik here to view.
Excel2010:祝日一覧(2017年〜2022年まで) - 教えて!HELPDESK
Excelで利用できる2017年〜2022年までの祝日一覧をご用意しました。

このように、とりあえずエクセル上のどこでもいいので祝日一覧表をコピーしましょう。
Image may be NSFW.
Clik here to view.
祝日一覧

WORKDAY関数で営業日を求める

実際にWORKDAY関数を使用して営業日を計算してみましょう。

2018年9月21日の前営業日を求めたい場合

Image may be NSFW.
Clik here to view.
開始日の前営業日

基準となる「開始日」を設定し、その何営業日後(前)を求めたいかを「日数」に指定します。今回の例は「前営業日」なので開始日からマイナスとなります。「-1」を指定してください。

最後に、「除外する日」として事前に作成しておいた祝日一覧を範囲指定します。

その結果、土日祝日を考慮した「営業日」の算出が可能です。

開始日が土日祝日の場合のみ翌営業日を求める場合

Image may be NSFW.
Clik here to view.
開始日が土日祝日の場合のみ翌営業日

開始日を「-1」し、その翌営業日を求めることで、開始日が土日祝日の場合のみ翌営業日を求めることができます。

つまり上記例だと、9月20日の翌営業日を求めていることになります。

開始日2018年9月21日は金曜日で平日なのでそのまま「開始日」が返されていますね!(2018年9月20日の翌営業日が返されています)

では試しに、「開始日」を土日祝日にして求めてみましょう。

Image may be NSFW.
Clik here to view.
開始日が土日祝日の場合のみ翌営業日

「開始日」2018年9月22日は土曜日なので、その翌営業日である2018年9月25日が返されています。

開始日の5営業日後を求めたい場合

Image may be NSFW.
Clik here to view.
5営業日後

  • 翌営業日の場合は1
  • 2営業日後の場合は2
  • 5営業日後の場合は5

など、求めたい日付に従って任意の値を「日数」に指定してください。

まとめ&次回予告

以上、エクセルで営業日判定を実現するWORKDAY関数の使い方についてお伝えしました。

日付を扱う業務や資料は想像以上にたくさん存在します。

WORKDAY関数を賢く使うことで、そういった業務の自動化も進みます。

今回は関数単体での使用方法をお伝えしましたが

次回はWORKDAY関数をVBAと組み合わせるにはどうすればいいか?をシリーズでお伝えしていきます。

実際にVBAとWORKDAY関数を組み合わせたスケジュール表の自動作成の方法を紹介します。

より実用的に使いこなしていただけます。

どうぞお楽しみに!


PowerPoint VBAで選択しているスライドを操作するSlideRangeオブジェクト

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

PowerPoint VBAで選択している部分を操作するマクロの作り方をお伝えしています。

前回の記事はコチラ。

Image may be NSFW.
Clik here to view.
PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!
PowerPoint VBAで選択しているシェイプのフォントを変更するマクロの作り方をお伝えしています。今回は、選択する部分を表すSelectionオブジェクトの4つのタイプについて理解を深めていきます。

「選択の部分」を表すSelectionオブジェクトの4つの状態についてお伝えしました。

シリーズとしては「選択しているシェイプのフォントを変更する」を目標に進めていくのですが、せっかくなのでSelectionオブジェクトからスライド、シェイプ、テキストをそれぞれ取得する方法を見ていきましょう。

まずは、スライドですね。

PowerPoint VBAで選択しているスライド範囲を操作するSlideRangeオブジェクトについて紹介していきます。

では、行ってみましょう!

前回のおさらい

前回作成したコードをおさらいしておきましょう。

コチラです。

Sub 選択状態を調べる()

With ActiveWindow.Selection
    If .Type = ppSelectionNone Then Debug.Print "何も選択されていません"
    If .Type >= ppSelectionSlides Then Debug.Print "スライドが選択されています"
    If .Type >= ppSelectionShapes Then Debug.Print "シェイプが選択されています"
    If .Type >= ppSelectionText Then Debug.Print "テキスト範囲が選択されています"
End With

End Sub

アクティブなウィンドウから選択している部分を表すSelectionオブジェクトを取得、そしてその選択の状態をTypeプロパティで判定するというプロシージャです。

選択しているスライドを操作する

SlideRangeオブジェクトとは

PowerPoint VBAでは「選択しているスライド」を表すSlideRangeオブジェクトというオブジェクトが用意されています。

また、スライドの選択は複数である可能性もありますので、SlideRangeオブジェクトは2つ以上のスライドを表すこともあります。

SlideRangeオブジェクトを使うことで、選択しているスライド全てについてコピーや削除などの操作をしたり、ループを使ってSlideRangeに含まれるスライド一つ一つに対して処理をするというような使い方も可能です。

SlideRangeプロパティでスライド範囲を取得する

では、SlideRangeオブジェクトを取得してみましょう。

Selectionオブジェクトに対して、SlideRangeプロパティを使います。

Selectionオブジェクト.SlideRange

簡単ですね。

SlideRangeオブジェクトを操作する例

では、例として以下のプロシージャを実行してみましょう。

Sub 選択したスライドの取得()

With ActiveWindow.Selection
    If .Type >= ppSelectionSlides Then
        Debug.Print "選択スライド数: " & .SlideRange.Count
        .SlideRange.Duplicate
    End If
End With

End Sub

4行目でTypeプロパティを確認して、スライドが選択されているか判定を入れています。選択されていれば、5,6行目の処理を実行します。

以下のように選択スライドがつのときに実行をすると…

Image may be NSFW.
Clik here to view.
PowerPointで複数スライドを選択

選択されているスライドが全て複製がされ、イミディエイトウィンドウには「選択スライド数: 2」と出力されます。

Image may be NSFW.
Clik here to view.
PowerPoint VBAで選択スライドを複製する

使用しているプロパティ、メソッドを紹介します。

Countプロパティは、SlideRangeオブジェクトに含まれるスライドの数を表します。

SlideRangeオブジェクト.Count

また、DuplicateメソッドSlideRangeオブジェクトに含まれるスライドを複製します。

SlideRangeオブジェクト.Duplicate

スライドが単一でないと使えないメンバーもある

以下のコードですが、選択スライドが単一であるときは、そのスライドのインデックスがイミディエイトウィンドウに出力されます。

Sub 選択したスライドのインデックス()

With ActiveWindow.Selection
    If .Type >= ppSelectionSlides Then
        Debug.Print "選択しているスライドのインデックス: " & .SlideRange.SlideIndex
    End If
End With

End Sub

SlideIndexプロパティは、スライド範囲のインデックスを取得するプロパティです。

SlideRangeオブジェクト.SlideIndex

ただし、複数のスライドを選択しているときは、以下の実行時エラーが発生します。

Image may be NSFW.
Clik here to view.
SlideRangeが複数のときに発生する実行時エラー

このように、スライドの数が単一でないとエラーになるメンバーもあります。

その場合は、Countプロパティによる判定処理を入れるなど、エラーが起きないようにする必要がありますね。

まとめ

以上、PowerPoint VBAで選択しているスライド範囲を操作するSlideRangeオブジェクトについて解説しました。

選択スライドを一気に操作できるので、なかなか強力です。

ただ、スライドの数に応じて使えるメンバーが限られることがありますので、注意が必要ですね。

次回は、選択スライドのフォントを変更するマクロを紹介していきます。

どうぞお楽しみに!

連載目次:初心者向けPowerPoint VBAで選択箇所を操作する

PowerPointでプレゼンテーションを作っている際に、「選択している部分のフォントを好きに変えたい!」ということありますよね。そのニーズに応えるマクロの作り方をシリーズでお伝えしていきます。
  1. PowerPoint VBAでアクティブなウィンドウを取得する方法
  2. PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得
  3. PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!

【IFTTTでチャットワーク連携】定期作業のメッセージを自動で通知する

Image may be NSFW.
Clik here to view.
IFTTTアイキャッチ

こんにちは!もり(@excelprog)です!

チャットワークユーザのみなさん、ついにやってきました!IFTTTチャットワークのレシピが公開されましたよ!

最強のビジネスチャットツール「チャットワーク」がIFTTTで使えるなんて無敵すぎますね。

さっそくみていきましょう!

IFTTTでチャットワークが使える!

IFTTT(イフト)とは「If This Then That」の略です。「もし、Aシステムで○○したら、Bシステムに○○する」という、Webサービス間を連携するプログラムです。

それぞれのプログラムは「レシピ」とも呼ばれています。

2018年9月時点で公開されているチャットワーク連携のレシピは、Gmail・Googleカレンダー・TwitterなどのWebサービスがあります。

これらのサービスのアクションをトリガーとして、チャットワークにメッセージを送信することができます。

えっ、こんなに簡単にチャットワーク連携ができちゃうの?!
これまでGASでプログラムを書いていた私にとっては、あまりの簡単さに拍子抜けするほどの衝撃…

さぁ、公開ホヤホヤのあったかレシピを早速紹介していきますよ!

IFTTTからチャットワークへの連携を許可する

この作業は最初の1回のみ必要です。連携するサービス同士で「そっちのサービスを操作するよ・情報を取得するよ」と許可・信頼関係を結ぶイメージです。

IFTTTへログインする

こちらのURLにチャットワーク連携のレシピが公開されています。

Image may be NSFW.
Clik here to view.
IFTTT
Connect ChatWork to Email, chatwork, Date & Time, Twitter, Google Calendar, Office 365 Mail, Gmail and more.

アクセス後の画面で「Connect」をクリックします。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-1

Googleアカウント or Facebookアカウントでログインが可能です。

(どちらのアカウントも持っていない場合はIFTTT用のアカウントを作成できますが、ここでは省略します。)

私はGoogleアカウントでログインして処理を続行します。
Image may be NSFW.
Clik here to view.
chatwork-ifttt1-2

チャットワークへ許可をリクエストする

チャットワークのアカウント情報を入力します。

①メールアドレス
②パスワード
③ログインをクリック
Image may be NSFW.
Clik here to view.
chatwork-ifttt1-3

「許可」をクリックします。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-4

これでIFTTTとチャットワークの連携が完了しました。画面下の方に並んでいるカードのようなものが「レシピ」です。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-4-2

 

今回の記事では、「IFTTTのDate&Timeサービス」を使用して「チャットワーク」にメッセージを送信するレシピを2つ紹介していきます。

チャットワークに日次・週次でメッセージを送信する

レシピ名:Automatically post a daily reminder to ChatWork

画面上にたくさん並んでいるレシピの中から、これを見つけてクリックします。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-5

直訳すると「毎日のリマインダーを自動でチャットワークに送信する」です。

このレシピを使うと、「毎日(毎週)の決まった時間」に「指定のメッセージ」をチャットワークに通知することができます。

設定方法

「Turn On」をクリックします。スマートフォンのスライド式ロック解除の見た目ですが、普通にクリックすれば大丈夫です。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-6

「Configure(設定)」の画面で色々な条件を設定していきます。

まずは「Time of day」で時・分を選択します。
「分」は15分単位で設定できます。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-7

次に、「Days of the week」で曜日を選択します。

毎週○曜日だけ通知したいときには、その曜日だけにチェックを入れればいいので、このレシピは週次リマインダ―としても使えます!

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-8

最後に、room(宛先グループ)メッセージを設定して、SaveをクリックすればOKです。
ここではマイチャットにメッセージを送信することにします。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-9

たったのこれだけで登録完了!簡単ですね!

画面上部の「My Applets」をクリックして、登録が完了したことを確認してみましょう。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-10

IFTTTの画面上は「レシピ」が「Applet」と表現されています。

「Applets」に、たった今登録完了したレシピが反映されています。ステータスが緑色のOnになっていますね。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-11

実行結果

あとは、指定した時刻まで待つだけです。チャットワークのルームを確認します。
Image may be NSFW.
Clik here to view.
chatwork-ifttt1-12

バッチリ22:00に届いていますね。成功です!

アクティビティの確認

画面上部の「Activity」で色々な処理結果を確認することができます。Image may be NSFW.
Clik here to view.
chatwork-ifttt1-12-2

ここには登録したレシピに関するログが記録されています。

「Applet turned on」が、登録完了の記録です。
「Applet ran」が、正常終了の記録です。10:00PMに動いたことが確認できますね。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-13

レシピの編集

一度登録したけど、時間やメッセージを変更したい!そんな時の編集方法も紹介します。

画面右上の歯車のアイコンをクリックします。
Image may be NSFW.
Clik here to view.
chatwork-ifttt1-14

初期設定時と同じ画面が出てくるので、時刻やメッセージなどを変更してSaveをクリックします。

画面上部にこのような成功メッセージが出てきたら更新完了です。
Image may be NSFW.
Clik here to view.
chatwork-ifttt1-15

チャットワークに月次でメッセージを送信する

レシピ名:Monthly Reminder to ChatWork

直訳すると「チャットワークへの月次リマインダー」です。

このレシピを使うと、「毎月決まった日付・時間」に「指定のメッセージ」をチャットワークに通知することができます。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-16-2

設定方法

基本的な操作方法は日次のレシピと同じです。

「Turn on」をクリックします。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-17

「Day of the month」で日付を選択します。「月末日」という指定ができるのは便利ですね!

「Time of day」で時・分を選択します。
Image may be NSFW.
Clik here to view.
chatwork-ifttt1-18

月末2日前・月末前日という指定も可能です。
Image may be NSFW.
Clik here to view.
chatwork-ifttt1-20

最後にroom・messageを設定して、Saveすれば完了です。

Image may be NSFW.
Clik here to view.
chatwork-ifttt1-19

実行結果は日次レシピと同じで、チャットワークの指定グループにメッセージが届きます。

まとめ

プログラムを書いていた処理が、ノンプログラミング&マウスでポチポチっと設定するだけで実現できてしまうこのお手軽さ!すばらしいですね!

これで、毎日・毎週・毎月の作業リマインダーを漏れなくチャットワークに通知することができますね。

次回も他のレシピを紹介していきますよ。

どうぞお楽しみに!

PowerPoint VBAで選択しているスライドのフォントを変更するマクロの作り方

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

PowerPoint VBAで選択している部分を操作するマクロの作り方について解説をしています。

前回の記事はコチラです。

Image may be NSFW.
Clik here to view.
PowerPoint VBAで選択しているスライドを操作するSlideRangeオブジェクト
PowerPoint VBAで選択している部分を操作するマクロの作り方をお伝えしています。今回は、選択しているスライド範囲を操作するSlideRangeオブジェクトとその使い方について紹介していきます。

選択しているスライド範囲を表すSlideRangeオブジェクトについて紹介しました。

今回は、選択しているスライド範囲について、そのフォントを変更するマクロの作り方を紹介していきましょう。

PowerPoint VBAで選択しているスライドのフォントを変更するマクロの作り方です。

では、行ってみましょう。

前回のおさらい

前回は以下のようなプロシージャを紹介しました。

Sub 選択したスライドの取得()

With ActiveWindow.Selection
    If .Type >= ppSelectionSlides Then
        Debug.Print "選択スライド数: " & .SlideRange.Count
        .SlideRange.Duplicate
    End If
End With

End Sub

4行目でスライドが選択しているかどうかを判定し、選択されていればそのスライドの数をイミディエイトウィンドウに出力しつつ、複製をするというものです。

今回は、選択しているスライド上のシェイプについて、フォントを変更する方法をお伝えしていきます。

選択スライドの全てのフォントの設定を変更するマクロ

選択スライドの全てのフォントの設定をするマクロですが、流れとしては以下のようになります。

  • 選択している全てのスライドについて繰り返し
    • 現在のスライドに含まれる全てのシェイプについて繰り返し
      • フォントの設定をする

コードとしては以下のようになります。

Sub 選択したスライドのフォントを設定()

With ActiveWindow.Selection
    If .Type >= ppSelectionSlides Then
    
        Dim i As Long
        For i = 1 To .SlideRange.Count
            Dim shp As Shape
            For Each shp In .SlideRange(i).Shapes
                With shp.TextFrame.TextRange.Font
                    .Name = "Meiryo UI"
                    .NameFarEast = "Meiryo UI"
                    .Color = RGB(89, 89, 89)
                End With
            Next shp
        Next i
        
    End If
End With

End Sub

以下解説をしていきましょう。

SlideRangeからインデックスでスライドを取り出す

7行目~16行目のFor文は「選択している全てのスライドについて」繰り返す部分です。

Countプロパティで含まれるスライドの枚数がわかりますので、その分繰り返しをします。

SlideRangeオブジェクトにはSlidesコレクションを取得するようなプロパティはありませんので、For Each文ではなくFor文でループを構成します。

それで、スライド範囲に含まれるスライドには、1からはじまるインデックスが振られていますので、以下のようにして、インデックスを使って個々のスライドをSlideオブジェクトとして取り出すことができます。

SlideRangeオブジェクト(インデックス)

スライドに含まれるシェイプについてフォントを設定する

あとは、各Slideオブジェクトの全てのシェイプについて、フォントを設定していけば良いですね。

シェイプコレクションのループとフォントの設定をしている部分が9行目~15行目になります。

詳細は以下の記事をご参考ください。

Image may be NSFW.
Clik here to view.
PowerPoint VBAでシェイプのフォント設定をする色々なプロパティまとめ
PowerPoint VBA入門編ということで、図形やテキストボックスのフォントを変更するマクロの作り方をお伝えしています。今回は、テキストのフォントを変更するいろいろなプロパティまとめをお伝えします。

実行結果

以下のスライドを選択しているときに上記プロシージャを実行します。

Image may be NSFW.
Clik here to view.
PowerPointでスライドを選択

すると、以下のように選択しているスライドのみフォントを変更することができました。

Image may be NSFW.
Clik here to view.
PowerPoint VBAで選択しているスライドのフォントを変更

まとめ

以上、PowerPoint VBAで選択しているスライドのフォントを変更するマクロの作り方を紹介しました。

これで、特定のスライドだけフォントを変更していくというのが一発でできるようになりますね。

ぜひご活用ください。

さて、次回は「選択しているシェイプ」について紹介していきます。

どうぞお楽しみに!

連載目次:初心者向けPowerPoint VBAで選択箇所を操作する

PowerPointでプレゼンテーションを作っている際に、「選択している部分のフォントを好きに変えたい!」ということありますよね。そのニーズに応えるマクロの作り方をシリーズでお伝えしていきます。
  1. PowerPoint VBAでアクティブなウィンドウを取得する方法
  2. PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得
  3. PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!
  4. PowerPoint VBAで選択しているスライドを操作するSlideRangeオブジェクト

PowerPoint VBAで選択しているシェイプを操作するShapeRangeオブジェクト

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

PowerPoint VBAで選択している部分を操作するマクロの作り方についてお伝えしています。

前回の記事はコチラ。

Image may be NSFW.
Clik here to view.
PowerPoint VBAで選択しているスライドのフォントを変更するマクロの作り方
みなさん、こんにちは!タカハシ(@ntakahashi0505)です。PowerPoint VBAで選択している部分を操作するマクロの作り方について解説をしています。前回の記事はコチラです。選択しているスライド範囲を表...

選択しているスライド上のフォントを変更するマクロの作り方をお伝えしました。

さて、「選択している部分」の「スライド」を操作する方法をお伝えしてきましたので、今回は「シェイプ」です。

ということで、PowerPoint VBAで選択しているシェイプ範囲を操作するShapeRangeオブジェクトについて紹介します。

では、行ってみましょう!

選択している部分の取得のおさらい

では、コチラの記事で紹介していたSelectionオブジェクトの状態を調べるプロシージャの復習からはじめましょう。

Sub 選択状態を調べる()

With ActiveWindow.Selection
    If .Type = ppSelectionNone Then Debug.Print "何も選択されていません"
    If .Type >= ppSelectionSlides Then Debug.Print "スライドが選択されています"
    If .Type >= ppSelectionShapes Then Debug.Print "シェイプが選択されています"
    If .Type >= ppSelectionText Then Debug.Print "テキスト範囲が選択されています"
End With

End Sub

アクティブなウィンドウの選択している部分について、Typeプロパティを使ってその状態を判定するプロシージャです。

シェイプが選択されていれば「シェイプが選択されています」と出力されますね。この判定を今回も使いまわします。

選択しているシェイプを操作する

ShapeRangeオブジェクトとは

PowerPoint VBAでは「選択しているシェイプ」を表すShapeRangeオブジェクトを利用することができます。

シェイプの選択は1つだけでなく、複数の場合もありますので、ShapeRangeオブジェクトは複数のシェイプを取り扱う性質を持ちます。

ShapeRangeオブジェクトはかなり多くのメンバーを持っていまして

  • 複製、コピーや削除
  • 塗りつぶしや枠線の設定
  • グループ化やグループ化解除
  • 高さや幅の変更

などなど、様々な操作をいっぺんにできる便利オブジェクトとなっております。

また、SlideRangeオブジェクトのように、含まれる各シェイプについてループを回して処理をするということも可能です。

ShapeRangeプロパティでシェイプ範囲を取得する

シェイプ範囲を取得するには、SelectionオブジェクトのShapeRangeプロパティを使います。

書式はコチラです。

Selectionオブジェクト.ShapeRange

SlideRangeオブジェクトと同じノリですね。

ShapeRangeオブジェクトを操作する例

例として、以下のプロシージャを書いてみましょう。

Sub 選択したシェイプの取得()

With ActiveWindow.Selection
    If .Type >= ppSelectionShapes Then
        Debug.Print "選択シェイプ数: " & .ShapeRange.Count
        .ShapeRange.Duplicate
    End If
End With

End Sub

以下のようにシェイプを選択している状態で実行をすると…

Image may be NSFW.
Clik here to view.
PowerPointでシェイプを選択

イミディエイトウィンドウには「選択シェイプ数: 2」と出力され、以下のように選択シェイプのみが複製されます。

Image may be NSFW.
Clik here to view.
PowerPoint VBAで選択シェイプを複製する

もうおわかりと思いますが、プロシージャ内のCountプロパティShapeRangeオブジェクトに含まれるシェイプの数を表すプロパティです。

ShapeRangeオブジェクト.Count

また、Duplicateメソッドシェイプ範囲に含まれるシェイプを複製するメソッドになります。

ShapeRangeオブジェクト.Duplicate

シェイプが単一でないと使えないメンバーもある

以下のコードは、選択しているシェイプの名前をイミディエイトウィンドウに出力するものです。

Sub 選択したシェイプの名前()

With ActiveWindow.Selection
    If .Type >= ppSelectionShapes Then
        Debug.Print "選択シェイプの名前: " & .ShapeRange.Name
    End If
End With

End Sub

Nameプロパティ選択シェイプのシェイプ名を取得するプロパティです。

ShapeRangeオブジェクト.Name

ですが、このプロパティは選択シェイプが単一のときでないと以下のようなエラーが出てしまいます。

Image may be NSFW.
Clik here to view.
ShapeRangeオブジェクト使用の際の実行時エラー

このように、シェイプ数が単一でないとエラーになるメンバーもありますので、Countプロパティで判定処理を入れるなどをして、使用をするようにしてくださいね。

まとめ

以上、PowerPoint VBAで選択しているシェイプを操作するShapeRangeオブジェクトについて紹介しました。

選択している複数のシェイプについて様々な操作をすることができる非常に有用なオブジェクトです。ぜひ、使いこなしたいですね。

ただ、選択しているのが単一のシェイプでないと機能しないメンバーもありますが、その点は注意が必要です。

次回は、選択しているシェイプ範囲についてフォントを変更するマクロの作り方について紹介をしていきます。

どうぞお楽しみに!

連載目次:初心者向けPowerPoint VBAで選択箇所を操作する

PowerPointでプレゼンテーションを作っている際に、「選択している部分のフォントを好きに変えたい!」ということありますよね。そのニーズに応えるマクロの作り方をシリーズでお伝えしていきます。
  1. PowerPoint VBAでアクティブなウィンドウを取得する方法
  2. PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得
  3. PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!
  4. PowerPoint VBAで選択しているスライドを操作するSlideRangeオブジェクト
  5. PowerPoint VBAで選択しているスライドのフォントを変更するマクロの作り方

PowerPoint VBAで選択しているシェイプのフォントを変更するマクロの作り方

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

PowerPoint VBAで選択している部分を操作するマクロの作り方をお伝えしています。

前回の記事はコチラ。

Image may be NSFW.
Clik here to view.
PowerPoint VBAで選択しているシェイプを操作するShapeRangeオブジェクト
PowerPoint VBAで選択している部分を操作するマクロの作り方についてお伝えしています。今回は、選択しているシェイプ範囲を操作するShapeRangeオブジェクトとその使い方について紹介をします。

選択しているシェイプを表すShapeRangeオブジェクトについて紹介しました。

今回は、そのShapeRangeのフォントを変更していきましょう。

PowerPoint VBAで選択しているシェイプのフォントを変更するマクロの作り方です。

行ってみましょう!

前回のおさらい

では、まず前回のおさらいから。

紹介したコードはこちらでした。

Sub 選択したシェイプの取得()

With ActiveWindow.Selection
    If .Type >= ppSelectionShapes Then
        Debug.Print "選択シェイプ数: " & .ShapeRange.Count
        .ShapeRange.Duplicate
    End If
End With

End Sub

4行目で、シェイプが選択されているかを判定、そして選択されていればそのシェイプの数をイミディエイトウィンドウに出力しつつ、選択シェイプ全てを複製するというものでした。

今回は、このプロシージャを修正して、選択しているシェイプのフォントを変更するマクロを作っていきます。

選択したシェイプのフォントを変更するプロシージャ

選択したフォントの変更をするプロシージャを作ってみましょう。

まず、インデックスを用いてFor文でループを回すパターンです。

Sub 選択したシェイプのフォントを変更()

With ActiveWindow.Selection
    If .Type >= ppSelectionShapes Then
    
        Dim i As Long
        For i = 1 To .ShapeRange.Count
            With .ShapeRange(i).TextFrame.TextRange.Font
                .Name = "Meiryo UI"
                .NameFarEast = "Meiryo UI"
                .Color = RGB(89, 89, 89)
            End With
        Next i
    
    End If
End With

End Sub

SlideRangeのときより簡単ですね。

ShapeRangeからインデックスでシェイプを取り出す

7行目~13行目で、選択しているシェイプについてループをしています。

シェイプ範囲に含まれるシェイプには1から順番にインデックスが振られていまして、以下書式でShapeオブジェクトとして取り出すことができます。

ShapeRangeオブジェクト(インデックス)

ループの回数は、Countプロパティで取得したシェイプの数までとすればOKです。

選択されている各シェイプのフォントを設定する

これで、選択されているShapeオブジェクトを一つずつ取り出すことができますので、そのFontオブジェクトを設定していけば良いですね。

詳細は以下の記事をご覧ください。

Image may be NSFW.
Clik here to view.
PowerPoint VBAでシェイプのフォント設定をする色々なプロパティまとめ
PowerPoint VBA入門編ということで、図形やテキストボックスのフォントを変更するマクロの作り方をお伝えしています。今回は、テキストのフォントを変更するいろいろなプロパティまとめをお伝えします。

実行結果

以下のように、シェイプを選択しているとしましょう。

Image may be NSFW.
Clik here to view.
PowerPointでシェイプを選択

この状態で前述のプロシージャを実行すると、以下のようになります。

Image may be NSFW.
Clik here to view.
PowerPoint VBAでシェイプ範囲のフォントを変更

別解:ShapeRangeオブジェクトについてFor Each文でループを回す

ShapeRangeオブジェクトも、SlideRangeオブジェクトと同様に、For Each文によりループを回すことができます。

以下コードでも前述のコードと同様の結果を得ることができます。

Sub 選択したシェイプのフォントを変更2()

With ActiveWindow.Selection
    If .Type >= ppSelectionShapes Then
    
        Dim shp As Shape
        For Each shp In .ShapeRange
            With shp.TextFrame.TextRange.Font
                .Name = "Meiryo UI"
                .NameFarEast = "Meiryo UI"
                .Color = RGB(89, 89, 89)
            End With
        Next shp
    
    End If
End With

End Sub

処理の順番にこだわらなければ、こちらのほうがわかりやすいかも知れませんね。

まとめ

以上、PowerPoint VBAで選択しているシェイプのフォントを変更するマクロの作り方を紹介しました。

ちょちょっと選択して、フォントを一気に変更!ということができますね。

どうぞご活用ください。

次回ですが、「選択しているテキスト」についてお伝えしますよ。

どうぞお楽しみに!

連載目次:初心者向けPowerPoint VBAで選択箇所を操作する

PowerPointでプレゼンテーションを作っている際に、「選択している部分のフォントを好きに変えたい!」ということありますよね。そのニーズに応えるマクロの作り方をシリーズでお伝えしていきます。
  1. PowerPoint VBAでアクティブなウィンドウを取得する方法
  2. PowerPoint VBAで選択した部分を表すSelectionオブジェクトとその取得
  3. PowerPoint VBAのSelectionオブジェクトの4つのタイプについて理解しよう!
  4. PowerPoint VBAで選択しているスライドを操作するSlideRangeオブジェクト
  5. PowerPoint VBAで選択しているスライドのフォントを変更するマクロの作り方
  6. PowerPoint VBAで選択しているシェイプを操作するShapeRangeオブジェクト
  7. PowerPoint VBAで選択しているシェイプのフォントを変更するマクロの作り方
Viewing all 2078 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>