GEN MUTO'S HOMEPAGE  エクセル大事典  エクセルVBAを極める

エクセルExcel大事典 エクセル大事典TOPページへ
 ■ エクセルの基本操作を完全マスター!
  Office用アプリを作成しよう!
 
Office用アプリとは

「Office用アプリ」は、Office 2013で追加された新機能の一つです。Webと連携することで、Officeに役立つさまざまな機能を作成したり利用することができます。

Office 2013では、クラウドサービスとの連携が強化されました。Office用アプリは、Office 2013で追加されたWeb連携機能の一つです。Word、Excel、Power Point、Outlookなどで、Webページを利用したアプリとして動作させることができます。

Webページの中で、JavaScriptライブラリを読み込むことにより、ドキュメントの文字列を読み込んだり、書き込んだりすることが可能になります。

また、Office用アプリの本体はWebページなので、HTMLやCSS、Java ScriptといったWebの標準技術を知っていれば、誰でも開発できるというメリットを持っています。このように、開発が比較的容易なのも、Office用アプリの特徴の一つといえるでしょう。

なお、Office用アプリはドキュメントやワークブックなどの“ファイル”に登録されます。WordやExcelなどのアプリケーション本体に、機能として登録されるのではないところに注意が必要です。追加したOffice用アプリを使用できるのは、アプリを追加したファイルのみになります。

Office用アプリは、XML形式のマニフェストファイルと、アプリ本体であるWebページの2つで構成されています。この2つのファイルは、一般的なテキストエディタを使用して作成することができます。特段、専用の開発環境やツールを用意する必要はありません。

ここでは、私が作成した「サムネイル作成アプリ」をサンプルに、解説を行います。このアプリは、2014年に開催された、日経ソフトウエア主催の「Office用アプリ開発コンテスト」で特別賞を受賞しました。
 
サムネイル作成アプリ

「Office用アプリ」開発コンテスト 結果発表

このアプリは、学習用サンプルとして自由にダウンロードすることができます。
サンプルファイル (OfficeAppSmp.zip 2.4KB)

使用の際には、画像API提供元の「HeartRails」様の利用規約を順守してください。また使用に関するトラブルに対して、作者は一切責任を負いません。
HeartRails利用規約


■マニフェストファイルの作成


マニフェストファイルには、アプリの種類やアプリ本体となるWebページのURL、開発者名、対応するOffice製品などの、アプリに関する設定情報を記述します。

[ダウンロードファイルのcreatethumbnail.xml]

<?xml version="1.0" encoding="utf-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp">
<Id>7ED6A03E-23C1-4E4D-8CB0-C004A9B94C31</Id>
<Version>1.0</Version>
<ProviderName>Negotum</ProviderName>
<DefaultLocale>ja-jp</DefaultLocale>
<DisplayName DefaultValue="サムネイル作成アプリ" />
<Description DefaultValue="Word、Excel、PowerPoint向けのサムネイル作成作業ウィンドウアプリ"/>
<Capabilities>
<Capability Name="Document" />
<Capability Name="Workbook" />
<Capability Name="Presentation" />
</Capabilities>
<DefaultSettings>
<SourceLocation DefaultValue="http://localhost/app/createthumbnail.html" />
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

OfficeAppで、Office用アプリの種類を指定します。「xsi:type="TaskPaneApp"」と記述すると、作業ウィンドウに表示される「作業ウィンドウアプリ」として動作させることができます。

Idは、アプリを識別するための固有のIDです。GUIDと呼ばれる文字列を指定します。GUIDは、VBAで簡単に生成することができます。イミディエイトウィンドウに次のコードを記述、[Enter]キーを押します。GUIDが生成されるので、コピーしてお使いください。

?Mid(CreateObject("Scriptlet.TypeLib").GUID, 2, 36)

Version、ProviderName、DefaultLocale、DisplayName、Description、には、アプリのバージョンや提供者、地域、アプリ名などを記述します。

Capabilitiesは、どのOfficeアプリケーションで利用できるかを指定します。Wordなら「Document」、Excelなら「Workbook」、Power Pointなら「Presentation」と指定します。

SourceLocationは、アプリ本体であるWebページのURLを指定します。お使いの環境に応じて、URLを書き換えてください。

Permissionsは、アプリのアクセス権を指定します。

このマニフェストファイルの置き場所を、「カタログサーバー」と呼びます。

Office用アプリを実行するとき、

(1).カタログサーバーからマニフェストファイルを読み取る
(2).マニフェストファイルに記載されたURLから、本体のWebページを読み込む
(3).Officeアプリケーション上でアプリを実行する

これらの手順にしたがって実行されます。

ここでは、カタログサーバーを共有フォルダーに設定し、そこにマニフェストファイルを保存します。

Cドライブの直下に「Apps」というフォルダーを作り、共有フォルダーの設定をします。「ファイルの共有」画面より「Everyone」のユーザーを追加、「アクセス許可のレベル」より「読み取り/書き込み」を選択、「共有」ボタンを押します。

このフォルダに、先ほどのマニフェストファイルを保存します。ここでは「createthumbnail.xml」という名前で保存します。皆さんがテキストエディタで作成したマニフェストファイルを保存するときは、文字コードに「UTF-8」を指定するのを忘れないでください。

次に、マニフェストファイルを保存した共有フォルダーを、カタログサーバーとして登録します。

Excel 2013を起動して、「ファイル」タブ>「オプション」を選択します。オプション画面より「セキュリティセンター」を選択、「セキュリティセンターの設定」ボタンをクリックします。

セキュリティセンターの「信頼できるアプリカタログ」を選択。「カタログのURL」欄に、共有フォルダーのパスを「\\コンピュータ名\Apps」と入力して「カタログの追加」ボタンをクリックします。(コンピュータ名には、共有フォルダを作成したPCのコンピュータ名を記述します)

追加したカタログの「メニューに表示する」チェックをオンにし、「OK」ボタンをクリックします。メッセージが表示されるので、Excelを再起動します。


■アプリ本体(Webページ)の作成

次に、アプリ本体の作成を行います。

[ダウンロードファイルのcreatethumbnail.html]

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title>サムネイル作成アプリ</title>
<script src="https://appsforoffice.microsoft.com/lib/1.0/hosted/office.js"></script>
<script>
Office.initialize = function(reason) {}
window.onload = function() {
var btn1 = document.getElementById('btnOK1');
btn1.onclick = function() {
Office.context.document.getSelectedDataAsync(Office.CoercionType.Text, 
{ valueFormat: "unformatted", filterType: "all" },
function (asyncResult) {
var error = asyncResult.error;
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
write(error.name + ": " + error.message);

else {
// Get selected data.
var dataValue = asyncResult.value;
var divthumb = document.getElementById("thumb");
divthumb.innerHTML = "<img src='http://capture.heartrails.com/free?" + dataValue + "'>";

});
}
var btn2 = document.getElementById('btnOK2');
btn2.onclick = function() {
var divthumb = document.getElementById("thumb");
Office.context.document.setSelectedDataAsync(
divthumb.innerHTML, {coercionType:Office.CoercionType.Html});

}
</script>
</head>

<body>
<h1>サムネイル作成</h1>
<h3>選択したURLのサムネイルを作成します</h3>
<form name="f1" action="#">
<button id="btnOK1" type="button">選択したURLのサムネイル画像を取得する</button><br><br>
<button id="btnOK2" type="button">サムネイル画像を挿入する (Wordのみ)</button><br><br>
<div id="thumb"></div><br>
<h6>Powerd by <a href="http://capture.heartrails.com/">
HeartRails Capture | サムネイル画像/PDF ファイル作成サービス</a></h6>
</form>
</body>
</html>

「src="https://appsforoffice.microsoft.com/lib/1.0/hosted/office.js"」が、JavaScript API for Officeライブラリをコンテンツ配信ネットワークから読み込む部分です。scriptタグの中に、Office用アプリを動作させるのに必要なコードを記述します。

bodyタグの中には、作業ウィンドウに表示させるフォームやコントロール、キャプションなどを設定します。

次は、アプリを配置するためのWebサーバーを用意します。ローカル環境で動作するWebサーバーの「Apache」や、ホームページを持っている人ならFTTPサーバーに、フォルダを用意し、そこにアプリ本体のhtmlファイルを保存します。

ここで保存したファイルのURLに、マニフェストファイルのSourceLocationのURLを書き換えます。テキストエディタで作成したhtmlファイルを保存するときは、文字コードに「UTF-8」を指定するのを忘れないでください。

最後に、サンプルのOffice用アプリを動かしてみましょう。Excel 2013を起動して、「挿入」タブにある「Office用アプリ」ボタンをクリックします。開いた「Office用アプリ」画面で「共有フォルダー」を選択すると、「サムネイル作成アプリ」というアプリが表示されます。これを選択して「挿入」ボタンを押すと、作業ウィンドウにアプリが表示されます。

サムネイル作成アプリは、Word、Excel、PowerPoint向けのサムネイル作成、作業ウィンドウアプリです。指定されたURLのWebページのサムネイル画像を取得、ドキュメントに挿入します。(ドキュメントへの挿入はWordのみの機能になります)

サムネイル作成アプリの使用方法は次の通りです。
(1).ドキュメントのURL部分を選択する(ExcelではURLの入力されたセルを選択する)
(2).[選択したURLのサムネイル画像を取得する]ボタンをクリックすると、サムネイル画像を取得、作業ウィンドウ内に表示する
(3).[サムネイル画像を挿入する]ボタンをクリックすると、表示したサムネイル画像を、ドキュメント内のカーソル位置に挿入する(Wordのみ)



以上、Office用アプリ作成のテクニックを紹介しました。

Office用アプリは、Webと連携することで、Officeに役立つさまざまな機能を作成して利用できる新機能です。

Officeの新機能「Office用アプリ」、皆さんの業務で、ぜひご活用ください。
 

>> 次の話にすすむ


サイト内検索ができます

Microsoft Most Valuable Professional

Microsoft MVP Excel
武藤 玄 プロフィール
 

■■■ 執筆した書籍 ■■■
 

EXCEL VBA 業務自動化
 

Excel VBA を5日でマスターする本
 

仕事を速くする Excel VBA 入門
 

Excel VBAと業務改善のポイントがわかる本
 

Access VBA ベーシック スタンダード
 

Excel VBA アクションゲーム作成入門
 

■■■ 連載中の記事 ■■■
 

Excel VBAで業務改善!
 

実務で使うExcel VBA
 


TOPページ


■ エクセルVBA超入門

 ・9ステップで"Hello World!"
  からオブジェクト指向まで!
  1."Hello World!"を表示しよう
  2.基本はデータの入出力
  3.繰り返し処理
  4.シートで簡易データベース
  5.名前をつけよう
  6.構造化プログラムに挑戦
  7.構造体を使ってみよう
  8.フォームを使ってみよう
  9.オブジェクト指向に挑戦

■ エクセルVBA中級編

 ・VBAでいろんなテクニック
  変数・関数のスコープ
  引数の参照方法を明示
  配列の中身を一気に複写
  識別子がよいコードを作る
  データ定義型をもっと知ろう
  定数と列挙型を活用しよう
  エラー処理の重要性1
  エラー処理の重要性2
  いろいろな条件分岐
  いろいろな繰り返し処理
  演算子について知ろう
  文字列操作 連結 変換 置換
  文字列操作 検索 比較 書式
  日付操作関数を知ろう
  数値操作・評価・その他関数
  並び替えソートをマスター
  いろいろな検索をマスター
  VBEditorを使いこなそう
  マクロの記録を活用しよう1
  マクロの記録を活用しよう2
  VBAからVBEを操作しよう1
  VBAからVBEを操作しよう2
  VBAからVBEを操作しよう3
 ・ワークシートを使いこなす
  セルの参照をマスターしよう
  セルの選択をマスターしよう
  セルの操作をマスターしよう
  セルの書式設定をマスターしよう
  行・列の操作をマスターしよう
  シートの参照をマスターしよう
  シートの操作をマスターしよう
  ブックの操作をマスターしよう
  ウィンドウの操作をマスターしよう
  イベントプロシージャを活用しよう
  ワークシートを印刷しよう1
  ワークシートを印刷しよう2
  音声(読み上げ)機能を操作しよう
  グラフを操作しよう
 ・ユーザーフォームを使いこなす
  ユーザーフォームを使おう
  UserFormsオブジェクト
  Labelコントロール
  TextBoxコントロール
  ComboBoxコントロール
  ListBoxコントロール
  CheckBoxコントロール
  OptionButtonコントロール
  ToggleButtonコントロール
  CommandButtonコントロール
  ScrollBarコントロール
  SpinButtonコントロール
 ・VBA関数の一覧
  Aから始まる関数の一覧
  Cから始まる関数の一覧
  Dから始まる関数の一覧
  Eから始まる関数の一覧
  Fから始まる関数の一覧
  Gから始まる関数の一覧
 
■ エクセルVBAを極める
 VBAスーパーテクニック
 
 ・データベースへ接続してみよう!
  CSVファイルへの接続
  ワークシートへの接続
  mdbファイルへの接続
  SQL Serverへの接続
  ADOレコードセットの操作1
  ADOレコードセットの操作2
 ・ファイルを操作してみよう!
  FileSystemObjectの操作
  Drive File Folderの操作
  TextStream ダイアログ
  ステートメントでファイル操作1
  ステートメントでファイル操作2
 ・他アプリと連携してみよう!
  ActiveXオートメーションの操作
 ・ゲーム技でマクロを超える
  エクセルで音を鳴らす1
  エクセルで音を鳴らす2  
  スクリーン座標を取得
  様々なイベント取得
  リボンUIを制御しよう1
  リボンUIを制御しよう2
  シート上でアニメを動かそう
 
■ 一歩上行くエクセル
 基本操作の完全マスター!

 
 ・あなたはいったい
  エクセルで何をしたいのか?
  エクセルで業務効率化
  エクセル関数を使いこなす
  エクセルの便利技
  エクセルは最高の帳票ツール
 ・エクセル基本操作上級編!
  セル選択、コメント、シリアル値
  オート機能を使いこなそう!
  参照、条件付書式、入力規則
  関数をもっと理解しよう!
  配列数式を有効利用しよう!
  データの正規化をしよう!
  ショートカットキーを利用しよう1
  ショートカットキーを利用しよう2
  Office用アプリを作成しよう!
  PowerPivotとExcelで簡単BI!
 ・世間の誤ったエクセルの
  べからず集
  エクセルで文章を書くべからず
  エクセルで図形を描くべからず
  エクセルでシステムをつくるな
 
■ エクセル関連その他

 ・エクセルコミニュティにあなたも
  参加しませんか?
  Excel関連リンク・コミニュティ
 ・VBの理解がVBAをマスターする
  最短距離!
  VB関連の老舗・大家サイト
 ・エクセルExcel大事典掲示板
 ・プライバシーポリシー

2000アイテムを超えるラベルを販売
送料無料、即納対応の優良ショップ
今買っているラベルより確実に安い!
OAラベルの販売専科グラフトラベル




エクセルExcel大事典ははリンクフリーです エクセル大事典Excel大事典
お問い合わせはこちら gengengen@yahoo.co.jp

Copyright© Gen Muto 武藤 玄 All Rights Reserved,