20150314 appforofficestudy

H
Apps for Office
Excelアプリ開発の事例で見るバッドノウハウと回避策
山本 優
ピタリ株式会社
簡単だから活用できるクラウド販売管理
「セールスノート」
を提供しています。
ロープライス 基幹システム利用 カスタムがお得
ユーザー単位でなく会社単位課金 システム製作∼倉庫管理まで 細かなセミオーダーに対応
「E2D3」というExcelアプリの開発に
関わっています。
今日の内容
• Apps for Office開発の重要なポイント
• ハマるポイント5選
• 今後のアプリの可能性
Apps for Officeの
重要なポイント(Excelアプリ編)
• 開発環境の選択
• マニフェストファイルの注意点
• アプリで最も重要な要素「Bind(バインド)」
開発環境
JavaScriptアプリケーションなので、
なんでも良さそうですが。。。
開発環境
• アプリ上のエラーコンソールを見る唯一のツール
• ブレークポイントの設定
• Visual Studio Community(無料)
これまでのExpressでは出来なかったオフィスアプリの開発が可能に
マニフェストファイル
ドキュメントサイトの
サンプル
Visual Studioで
作成された
デフォルトサンプル
マニフェストファイルの
注意点
IDやバージョンの桁数は正しく
※間違っていると起動しません
※そもそも不要な項目もあります
アプリ申請時にどの
サンプルにも無い項目
を求められる
※リジェクト理由に書かれますので、
よく読みましょう。
バインドとは
任意の領域とそのデータの
オブジェクトセット
Bindオブジェクト
(固有のID(Bind ID)があります)
Bindオブジェクトを通じて、
⃝データ取得
⃝データ編集
実際の開発現場から
ありがちなハマるポイントと
対策をご紹介
ケース1:
アプリから
任意のセルを選択したい時
例えば・・・
⃝アプリからレイアウトを指定したい
⃝アプリからバインド領域を指定したい
⃝アプリから特定のセルの値を書き換えたい
できません
⃝「A1:C3」のように、特定のセルを指定することは出来ない。
⃝あくまでユーザーが選択したセル、セルの範囲に対して、アプ
リが干渉できる。
⃝「選択」「選択解除」という機能は無い
E2D3の場合
ユーザーに特定のセルを選択するよう案内
を出すことで対応したり、
欲しいデータ範囲(例えば「A1:H7」)分
の2次元配列を作成して、データを流し込
んだりしている。
空白セルやデータ削除は空文字で埋めることで、
データ書き換えやレイアウト生成を実装している。
テスト
array = [
[ , , , , , ],
[ , , , , , ],
[ , , , , テスト , ],
[ , , , , , ]
]
こんな感じ
注意!
ユーザーが任意のセルを選択中に、その範囲以
上のデータを挿入しようとするとエラー
array = [
[ , , , , , ],
[ , , , , , ],
[ , , , , テスト , ],
[ , , , , , ]
]
データ範囲が違うと怒られます
適切な案内をしましょう。
ケース2:
バインド領域を動的に
変更したい
例えば・・・
⃝外部連携アプリから取得したデータをイ
ンタラクティブに反映する
⃝動的にレイアウトを変更する
でき、、、なくはない
E2D3の場合、グラフ毎に異なるサンプルデータがある
最初のバインド領域分の
データを削除
バインド領域を破棄
新しいバインド領域分の
配列を挿入
新規にバインド領域(オブジェ
クト)を生成
注意!
同じBind-IDで再度作り替えた場合
Bind-ID:1 Bind-ID:1
Bind-ID:1 Bind-ID:1
適切にBindオブジェクトを破棄しないと、内部的にBindオブジェクトが残る
ケース3:
バインド領域の変更を監視したい
出来ます!
addHandlerAsyncメソッド
注意!
⃝使わなくなったイベント監視は必ず削除する
⃝同じBind-IDであっても、複数回同じイベン
ト処理を登録しない(イベント処理は上書きさ
れない)
イベント処理1
イベント処理2
イベント処理を変更
するために再登録
イベント処理1
イベント処理2
両方実行される
今後のアプリ動向
App for Office
Have fun!!
1 of 36

Recommended

はてなエンジニアブロガー祭りLT クロスプラットフォーム開発 by
はてなエンジニアブロガー祭りLT クロスプラットフォーム開発はてなエンジニアブロガー祭りLT クロスプラットフォーム開発
はてなエンジニアブロガー祭りLT クロスプラットフォーム開発友太 渡辺
3.2K views9 slides
iOSやAndroidアプリ開発のGoodPractice by
iOSやAndroidアプリ開発のGoodPracticeiOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPracticeKen Morishita
12.4K views46 slides
NA PERIFA by
NA PERIFANA PERIFA
NA PERIFAAnderson Scardoelli
190 views22 slides
Integrated circuit final by
Integrated circuit finalIntegrated circuit final
Integrated circuit finalChya Lusita Achmad
278 views14 slides
12200581 pss7 by
12200581 pss712200581 pss7
12200581 pss7ducking94
178 views15 slides
Libro de ponencias XVI Encuentro (Murcia 2012) by
Libro de ponencias XVI Encuentro (Murcia 2012)Libro de ponencias XVI Encuentro (Murcia 2012)
Libro de ponencias XVI Encuentro (Murcia 2012)investenisciii
4.7K views634 slides

More Related Content

Viewers also liked

FloatMagic Power Point Presentation by
FloatMagic Power Point PresentationFloatMagic Power Point Presentation
FloatMagic Power Point Presentationstoneworts
379 views25 slides
09 state of the art of the management of advanced and recurrent ovarian cancer by
09   state of the art of the management of advanced and recurrent ovarian cancer09   state of the art of the management of advanced and recurrent ovarian cancer
09 state of the art of the management of advanced and recurrent ovarian cancerONCOcare
450 views45 slides
20121121101127simulation azmi by
20121121101127simulation azmi20121121101127simulation azmi
20121121101127simulation azmiAhmad Nur Faiz
544 views48 slides
Paulatitos by
PaulatitosPaulatitos
Paulatitospaulatitos
138 views24 slides
Powerful presentation secrets by
Powerful presentation secretsPowerful presentation secrets
Powerful presentation secretsfixithat
100 views24 slides
Remembrance of data past by
Remembrance of data pastRemembrance of data past
Remembrance of data pastAmélie Marian
641 views17 slides

Viewers also liked(19)

FloatMagic Power Point Presentation by stoneworts
FloatMagic Power Point PresentationFloatMagic Power Point Presentation
FloatMagic Power Point Presentation
stoneworts379 views
09 state of the art of the management of advanced and recurrent ovarian cancer by ONCOcare
09   state of the art of the management of advanced and recurrent ovarian cancer09   state of the art of the management of advanced and recurrent ovarian cancer
09 state of the art of the management of advanced and recurrent ovarian cancer
ONCOcare450 views
20121121101127simulation azmi by Ahmad Nur Faiz
20121121101127simulation azmi20121121101127simulation azmi
20121121101127simulation azmi
Ahmad Nur Faiz544 views
Powerful presentation secrets by fixithat
Powerful presentation secretsPowerful presentation secrets
Powerful presentation secrets
fixithat100 views
ARE U PAYING ATTENTION? by semreme
ARE U PAYING ATTENTION?ARE U PAYING ATTENTION?
ARE U PAYING ATTENTION?
semreme209 views
Searching data with substance and style by Amélie Marian
Searching data with substance and styleSearching data with substance and style
Searching data with substance and style
Amélie Marian510 views
LEVICK Weekly - Jan 25 2013 by LEVICK
LEVICK Weekly - Jan 25 2013LEVICK Weekly - Jan 25 2013
LEVICK Weekly - Jan 25 2013
LEVICK401 views
Leveraging SMEs’ strengths for INSPIRE by smespire
Leveraging SMEs’ strengths for INSPIRELeveraging SMEs’ strengths for INSPIRE
Leveraging SMEs’ strengths for INSPIRE
smespire 298 views
Marketing page by 7change
Marketing pageMarketing page
Marketing page
7change348 views
第一次 概念發想 by alan03265
第一次 概念發想第一次 概念發想
第一次 概念發想
alan03265480 views
Web2 by larinaea
Web2Web2
Web2
larinaea587 views
Shoothill Floodalert by smespire
Shoothill FloodalertShoothill Floodalert
Shoothill Floodalert
smespire 533 views
Active sentences by Miz Endang
Active sentencesActive sentences
Active sentences
Miz Endang2K views
Корпорация «РосГеймз» – игровые технологии для бизнеса и личностного роста by Людмила Авдеева
Корпорация «РосГеймз» – игровые технологии для бизнеса и личностного ростаКорпорация «РосГеймз» – игровые технологии для бизнеса и личностного роста
Корпорация «РосГеймз» – игровые технологии для бизнеса и личностного роста

Similar to 20150314 appforofficestudy

OpenSpan_PreMarketing by
OpenSpan_PreMarketingOpenSpan_PreMarketing
OpenSpan_PreMarketingmotani_kamakura
544 views10 slides
New Integration "X" 新インテグレーションソリューション by
New Integration "X" 新インテグレーションソリューションNew Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューションmotani_kamakura
312 views10 slides
フォーガンシーが歩んだ道 by
フォーガンシーが歩んだ道フォーガンシーが歩んだ道
フォーガンシーが歩んだ道フォーガンシー
6.9K views64 slides
Spring'15 ISV様向け新機能紹介 by
Spring'15 ISV様向け新機能紹介Spring'15 ISV様向け新機能紹介
Spring'15 ISV様向け新機能紹介Kazuki Nakajima
1.4K views17 slides
コックピットアプリケーション by
コックピットアプリケーションコックピットアプリケーション
コックピットアプリケーションDaisuke Sugai
978 views9 slides
Apps for Office サミット! by
Apps for Office サミット!Apps for Office サミット!
Apps for Office サミット!kinuasa
1.8K views44 slides

Similar to 20150314 appforofficestudy(20)

New Integration "X" 新インテグレーションソリューション by motani_kamakura
New Integration "X" 新インテグレーションソリューションNew Integration "X" 新インテグレーションソリューション
New Integration "X" 新インテグレーションソリューション
motani_kamakura312 views
Spring'15 ISV様向け新機能紹介 by Kazuki Nakajima
Spring'15 ISV様向け新機能紹介Spring'15 ISV様向け新機能紹介
Spring'15 ISV様向け新機能紹介
Kazuki Nakajima1.4K views
コックピットアプリケーション by Daisuke Sugai
コックピットアプリケーションコックピットアプリケーション
コックピットアプリケーション
Daisuke Sugai978 views
Apps for Office サミット! by kinuasa
Apps for Office サミット!Apps for Office サミット!
Apps for Office サミット!
kinuasa1.8K views
アジャイル開発のためのDatadog by Nobuyasu Seki
アジャイル開発のためのDatadogアジャイル開発のためのDatadog
アジャイル開発のためのDatadog
Nobuyasu Seki1.7K views
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース... by 智治 長沢
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...
智治 長沢860 views
2011年マイクロソフト テクノロジー振り返り~開発編~ by Takeshi Shinmura
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
Takeshi Shinmura1.2K views
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録 by Taiki Yoshida
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
Taiki Yoshida1.7K views
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps by Shotaro Suzuki
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
Shotaro Suzuki2.2K views
【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕) by Developers Summit
【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)
【13-B-4】事例から学ぶdev ops実現のためのプラクティス(黒川敦〔日本アイ・ビー・エム〕)
Developers Summit3.1K views
ノンコーディングでビジネスアプリ作成 PowerApps入門 by Trainocate Japan, Ltd.
ノンコーディングでビジネスアプリ作成 PowerApps入門ノンコーディングでビジネスアプリ作成 PowerApps入門
ノンコーディングでビジネスアプリ作成 PowerApps入門
今さらきけない環境ハブ by Kazuki Nakajima
今さらきけない環境ハブ今さらきけない環境ハブ
今さらきけない環境ハブ
Kazuki Nakajima30.5K views
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ... by 智治 長沢
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
智治 長沢3.3K views
基調講演「データのグループウェア化」 by Cybozucommunity
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
Cybozucommunity1.6K views
保守性の高いアプリケーション設計について by TomomitsuKusaba
保守性の高いアプリケーション設計について保守性の高いアプリケーション設計について
保守性の高いアプリケーション設計について
TomomitsuKusaba275 views

Recently uploaded

PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
36 views36 slides
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 by
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
18 views22 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
71 views12 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
136 views26 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
31 views17 slides
私のMicrosoft Azure 2023 by
私のMicrosoft Azure 2023私のMicrosoft Azure 2023
私のMicrosoft Azure 2023Ryuji Iwata
5 views36 slides

Recently uploaded(6)

PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga31 views
私のMicrosoft Azure 2023 by Ryuji Iwata
私のMicrosoft Azure 2023私のMicrosoft Azure 2023
私のMicrosoft Azure 2023
Ryuji Iwata5 views

20150314 appforofficestudy