最新エントリー : カンタン!ExcelとWordでホームページ ツール

カンタン!ExcelとWordでホームページ ツール

ブログ - 最新エントリー

緒方です。ホームページツールの仕様というか、操作性を変更することにしました。

ホームページツールをお使いになればわかるのですが、画面の上部に「ブログを投稿」「ニュースを投稿」「TOPページ投稿」「コンテンツ投稿」と、記事を投稿するボタンが並んでいます。



従来のホームページツールでは、これらのボタンを押すと、必ず新規に追加するモードになっていました。新しく記事を書くときに押すボタンだということですね。

でも実際に使ってみると、件名や本文をクリアしているわけではなかったので、新規に追加だと気づかずに(ボタンには「ブログ投稿(追加)」と書いてあるのに・・・)、既存のブログを編集するつもりで作業してしまう・・・そのままボタンを押してしまうと、新しい記事として追加されてしまうということがよくありました。



ブログ編集で表示された記事の一覧を見て、はっと気づくと同じ件名のブログが数件並んでしまっている・・・重複した古いブログを一生懸命削除することになりがちでした。


新規に追加した直後なら、「編集」モードに入っているので、何度、ボタンを押しても同じブログを編集するのですが、画面の上のボタンを押すと、また新規に追加するモードに切り替わってしまう・・・

いったん「追加」のモードに入ってしまうと、既存のブログを編集するには、一度「ブログ編集」ボタンを押して、該当の記事を選んで「編集」ボタンを押して、画面に編集したいブログを呼び出さないといけないのです。


でも実際、ホームページを作成する作業では、新規に記事を追加するよりも、既存の記事を何度も編集することの方が多いですね。ブログならまだ新規に追加する方が多いのですが、コンテンツやTOPページは、編集の方が圧倒的に多い。ボタンを押すと、「追加」モードに入るよりも、そのまま「編集」モードを維持した方が使いやすいことに気づきました。


そこで最新のバージョン(ホームページツール03_2A039.xlsm 039)からは、画面の上のボタンを押しても「編集」モードのままになります。新しい記事を書くときは、以下の「新規作成」のボタンを押すこととしました。




まだ詳しいマニュアルを書いているわけではないので良かったのですが、内部的には大きな修正作業となってしまいました。特に編集したいと思ったら、該当の記事が削除されている時の削除チェックや、自動テストのロジックで、ボタンを押しても「追加」モードではなく、「編集」モードになっているテストだとか、いろんなところを修正する必要がありました。


ホームページツールの開発は一段落していたので、久しぶりに内部のコードを触ることになりました。私はシステムエンジニアなので、こういうコードを触る(プログラムを修正するという意味)ことは好きなのですが、Excelのマクロは修正するには手間がかかりますね。


最近はコードを書かずにアプリケーションをさくっと作ってしまい、すぐにリリースできるという「ノーコード」というものが進化しているようです。コードを書くほど、柔軟性や細かい仕様は実現できないようですが、ある程度の機能がある、よくあるタイプのWebアプリや、スマホアプリをさくっと作ってしまうのは早くて良いみたいです。


ホームページツールのスマホ版は、マイクロソフトのVisualStudioで開発しようと思っていましたが、ノーコードでサクっと作ってしまう方がいいかも?

  • トラックバック (0)
  • 閲覧 (2)

ブログサンプル

カテゴリ : 
ブログ
執筆 : 
緒方貴志 2020/9/27 2:20
ブログの本文をここに入力します。
文章の背景に色を指定したり、文字に色を指定したり、
これはゴシック体です。
これは明朝体です。
図や写真を挿入することもできます。







  • トラックバック (0)
  • 閲覧 (4)
緒方です。久しぶりのブログです。
これまた久しぶりに新機能です。

このホームページツールにメルマガの機能をつけたのは、人間禅(座禅の会)で開発を始めて1年くらい経った後だったと思います。サーバー側のソフトはImpressCMSというWebソフトを使っているのですが、これはXoops(ズープスと読みます)というWebソフトと互換性があり、モジュール(アドインやアプリみたいなもの)を流用できます。

その中でもメルマガ用に、Evennewsという海外製のメルマガモジュールがあり、これを有志の方が日本語化ファイルを公開されています。このモジュールに私の方で、バッググラウンド送信による送信日時の予約機能を追加して使っているのですが、当初からHTMLメール・テキストメールの切り替えの機能がついていました。

ただ使い方がわからなかったので、長い間テキストメールでしか使ってなくて、ホームページツールの中でも、強制的にテキストモードにチェックをつけていました。

  「テキストメールとHTMLメールの切り換え」
  「送信方法」のバックグラウンド送信は、私が追加した予約送信の機能。


さて、今回、HTMLメールの出し方を調べて、写真や画像、リンクをフルパスにすれば良いだけだとわかったので、試しにフルパスに変換したHTMLソースをこのメルマガ・モジュールに入力してみると、あっさりと問題なくHTMLメールが出せることがわかりました。

開発された海外の会社はもうリンク先が無くなっているのでお礼の連絡もしようもないのですが、こんなに簡単にHTMLメールが出せるモジュールを開発してくれたことに感謝します。


ではホームページツールでは、メルマガの画面に、HTMLメールをON/OFFする機能をつけました。そして従来からある予約送信の方は残念ながら、このモジュールを使っていないので、そちらはテキストメール専用としました。


HTMLメールをONにすると、予約送信はOFFになります。HTMLメールは即時送信でしか出せませんが、これは将来は拡張するかもしれませんが、今回は制限事項として仕様にします。

HTMLメールの時は、リンク、画像、写真を、サイトにアップロードして、HTMLメールの中で、フルパスになるように改修しました。従来は、サイトアドレスを削除して、相対パスに変更していたので、メルマガの時はフルパスのままになるようにしています。

これでHTMLメールが出せるようになりました。開発当初からの夢(大げさw)が、また一つ可能になりました。開発に一週間ほどかかりましたが・・・


  • トラックバック (0)
  • 閲覧 (16)
緒方です。久しぶりにブログを書くのですが、これまた久しぶりの新機能を追加しました。

実はホームページツールって、1台のパソコン上で一人の担当者が使うことしか考えてなくて、例えばブログの記事を書いたら、その時、作成されたWordファイルはその担当者のパソコンのハードディスクに履歴として保存されます。

もし別の担当者が別の場所で、その記事を編集しようとしたら、Wordで保存して送る必要がありました。そういうことをせずに、別のパソコンで編集すると、サーバー上にあるのはHTML形式のデータですから、これをダウンロードしてWordに読み込ませていたのです。

でも弊害として、HTML形式に変換する際に、Wordの細かい設定がいくつか無くなってしまいます。例えば段落の高さとか行の間隔などはHTMLに変換したらなくなってしまうのです。

そこで細かいWordの設定までちゃんと残して、他の担当者に渡すには、Word保存して送るということなんですね。これを図にするとこうなります。



企業の中ではファイルサーバーで共有する手もありますが、外部の方に仕事を出したり、在宅勤務が当たり前のようになってくると、オフィスでのファイル共有ではうまくなくなってきています。

そこで、新機能としてWordファイルをWebサーバー上に最新版だけ保存するようにしました。記事を書いたらHTMLデータと共にWordファイルをアップロードします。編集すると、Wordファイルがある記事は、Wordファイルをダウンロードして復元します。Wordファイルが無い記事は今まで通り、ローカルにあればローカルWordファイル、それも無ければWebサーバーからのHTMLデータということになりまs。

編集時の優先順位はこうなります。

1. サーバーのWordファイル

2. ローカルのWordファイル

3. サーバーのHTMLデータ

これで、普通にホームページツールを使っていれば、場所がどこでも、担当者が何名でも、かまわず記事を書いて、編集できますね。


ちなみにサーバーにあるのは最新版が一つだけ保存されているので、過去の記事に戻したいという場合は、ローカルにあるWordFolderの下を探してください。これは各担当者のパソコン上のファイルなので、複数の担当者が編集したら、それぞれのパソコン上にあることになりますので、ご注意ください。

  • トラックバック (0)
  • 閲覧 (94)

緒方です。さてある重要なセキュリティの組み込みで、対策ができたブログに書ける、やっていない間はとても書けないという・・・話題です。

そんな裏事情書いてもいいのか?という感じですが、対策できたので書こうと思います。

ホームページツールのサーバー側のシステムはImpressCMSというソフトなのですが、この日本語版のエディターには、ckeditor、エディターから画像の一覧を表示するのに kcfinder という、有名な組み合わせで作りこんでいるのですが、このkcfinder ってログイン確認をしていないのです。

Kcfinder の設定の中に、使えるかどうか?という設定があって、たいていのブログや記事ではこのフラグをOFFOFFが使える状態)にしろと書いてあるのです。本来はこのフラグはONONで使えない)にしておき、ログインして使える人ならOFFにするというロジックを自前で組み込んでね・・・というものなのです。

でもロジックを自前で組み込まないと使えないので、単純にOFFにしろと書いてあり、たいていのWebマスターの方は、OFFで使ってしまっているというのが実情なのです。

この問題に気づいたのはImpressCMSを使いだして数年経って後です。あるサイトで、ある日、数枚の画像ファイルが消えていたことがありました。その時は連絡を受けて、バックアップを取っていたので、そこから復旧させたのですが、原因を調べるとこの問題がわかりました。Kcfinder って誰でも入れてしまうんだ・・・もちろん削除もできるわけですし、アップロードまでできてしまう危険な状態、絶句してしまいました。

当時見つけた記事がこちらです。
KCFinderの設置の注意点

この記事によると、実際危ない状態になっているサイトが散在するとのこと。またアドレスがバレなきゃ大丈夫さと思った方もいるかもしれないが、Googleでググれば探せてしまうそうです。

ということで私のシステムでもセキュアな状態に対策できているので、注意喚起をしておこうと、この記事を書いています。

ロジックはどうしたかというと、このONOFFではなくて、kcfinder の実行が開始されるところで、いろいろ環境をチェックしているところがあるので、そこにImpressCMSのログイン状態が、管理者であるかどうかのチェックロジックを入れました。

このロジックはImpressCMS専用にしてしまったので、もしXoopsでやりたい場合は、変数名を変えてもらえば使えるかと思います。こんな感じ。たった数行です。

require_once '../../../mainfile.php';

if ($icmsUserIsAdmin == false) {
        exit();
}

管理者でなければ、exit するので、真っ白なブランク画面になります。ちなみにその後は数年、多数のサイトを運営しておりますが、こういう画像が消されるという事象は起こっていません。

みなさま気をつけましょう。



  • トラックバック (0)
  • 閲覧 (104)

ラインセスのない製品の検知に成功

カテゴリ : 
ブログ
執筆 : 
緒方貴志 2020/5/31 17:44

緒方です。数日前にライセンス認証が外れたことでホームページツールのクラッシュが発生することをブログに書きましたが、これの検知方法がわかりましたので、起動ロジックに組み込みました。

ちょっと専門的になりますが、Excelのマクロ(VBA)的には、Applicationオブジェクトのどこかか、レジストリにライセンス切れが書き込まれているのではないか?と思ったのですが、これはネットで調べても誰も書いてない。

実際にライセンス切れの状態のExcelが作り出せたので、画面を見ました。



そうすると一番上のタイトルのところに「ライセンスのない製品」と表示されていることに気づきました。これですね。



この部分はExcelのマクロ(VBA)からは、Application.Captionで見ることができるので、この中に「ライセンスのない製品」と書かれていたら以下のようにエラーにして起動しないようにしました。



これで中途半端な状態で起動してクラッシュするという、ホームページツールの不具合にしかみえない状態を回避できました。

数日前になぜかラインセス認証が外れてしまい、ホームページツールが起動してもクラッシュしてしまって、Excelの画面がいきなり閉じてしまうので、私自身がライセンス切れに気づかなかったので、これでこのエラーが出れば、そこで停止するので、気づくことでしょう。

ライセンス認証が外れた原因はわかりませんが、マイクロソフトのデータベースとの通信に不具合があるとこうなるようですね。もし業務でExcelを使っている時なら焦ると思います。こういう時に限って、後10分で仕上げなければならない資料とか作っていると困りますよね。

でも幸い次の日にはライセンス認証がされていたし、私の場合は仮想マシンで他にもExcelが動くマシンをいくつも持っているので問題ありませんでした。

うちの会社でもOffice365ですけど、ライセンス認証が外れたことはないので、そうそう起こることではないかとは思いますが、ネットで調べると、ライセンス認証が外れた・・・という書き込みがあるので、0ではない感じ。

もしライセンス認証が外れたとしても、ホームページツールのせいではないという()、ことがお客様にもわかるかと思います。



  • トラックバック (0)
  • 閲覧 (144)
緒方です。機能のブログで、中国製のバックアップソフトの、EaseUS(イーザス)のソフトTodo Backup Freeを購入して、開発環境の仮想マシンをバックアップし始めた話を書きました。

数日使っていて、既に初日のフルバックアップ以降は、増分バックアップになっていますが、メインのHyper-Vホスト機でも15分しかかかっておらず、気づかないうちにバックアップが始まり、知らないうちに終わっている、ほったらかし状態が実現できました。

ファイルのバックアップはいろいろあるので、1時間くらいかかっているようですが、これも私の知らないうちに始まり、終わってしまっています。メインのPCであるHyper-Vホスト機はHP社のサーバー機で、XeonCPUが2個、CPUコア数は16個もあって、処理速度が速いので全く気づかないのです。

怖いのはいつの間にかバックアップがエラーとかで停止してしまうことですね。1本だけ有料版にしてあり、メールでお知らせの機能があるのですが、設定してもメールが来ないので、まだ研究中です。無料版ではメールでお知らせはできないので、バックアップ先になっているZドライブを時々確認しています。

いろいろ調べていたら有名なバックアップソフトのARCserveのクライアント版が無料で提供されていることがわかり、早速インストールしてみたのですが・・・

でもARCserveには、ARCserveBackupArcserveUDPの2種類があり、それぞれファイルレベルバックアップ、イメージレベルバックアップと言う違いがあります。

無償版は後ろにUDPがついている、ArcserveUDPのみでした。

ARCserveBackupの方なら、サーバーを導入する際、お客様へ提案してよく使っているし、うちの会社でも使っています。細かい設定ができて、ファイルレベルとかメールだとか、複数のバックアップジョブを作ってスケジュールできるのですが、UDPの方は、インストールしたWindowsを丸ごとイメージバックアップすることしか考えられていないようで、複数のジョブを作って・・・というのができませんでした。

今、TodoBackupで実行しているバックアップは、各仮想マシン毎に違うスケジュールですし、特にHyper-Vホスト機はファイルサーバーでもあるので、ここはファイルレベルで増分バックアップしたいしと、UDPの方では難しいことがわかったのでアンインストールしてしまいました。

ARCserveBackupの方に無償版があれば良かったのですが・・・もう20年くらい前になりますが、ARCserveBackupのクライアント版がパソコンショップで販売されたことがあります。確か1万円くらいだったと思いますが、サーバー版も含む一式で数十万になるソフトなので、安い!!と思った記憶があります()

ARCserveBackupは前の会社でインストラクターの資格を取ったこともあり、35歳より前の話ですから、20年以上前、なかなか長いお付き合いのソフトです。

この画面デザインも昔からほとんど変わっていないw
Arcserve Backup Home Page


  • トラックバック (0)
  • 閲覧 (107)

バックアップソフトを購入しました

カテゴリ : 
ブログ
執筆 : 
緒方貴志 2020/5/30 3:51
緒方です。私の開発環境と言うか、メインのPC(サーバーですが)の中には、Hyper-Vがインストールされていて、その配下に多くの仮想マシンがあります。

実はある仮想マシンでWindowsが起動しなくなってしまいました。何か特別なことをやったわけではなく、普通にシャットダウンして起動しただけですが、シャットダウンが失敗しているようで、Windowsを起動してもブルースクリーンになります。

Windows10ではあまりブルースクリーンは見ないのですが、やっぱり起こることはあるようです。Windows10DVDで起動して修復しようとしてもうまくいかず・・・以前のWindowsXPとかWindowsServer2003なら、こういう状態でも、アップデートのモードでインストールすればなおったのですが、今のWindows10では、アップデートインストールができなくなっています(なぜ?)。

パーティションを削除しなければならないと言われて先に進めなくなります。

まあ、「こんなこともあろうかと」と言うと宇宙戦艦ヤマトの真田さんのセリフとして有名ですが、実はこのセリフ、1回も使われたことがないそうです。ご存じでしたか?

みんながこのシーンですよと思う場面で使われた実際のセリフは、「反射衛星砲にヒントを得て密かに開発しておいた空間磁力メッキが役に立ったよ」だそうです。

狭いし設備や材料も乏しい宇宙戦艦ヤマトの艦内でとてもあんな規模の兵器が開発できるわけがないと思うのですが、とにかく真田さんのこのセリフが、いつの間にか「こんなこともあろうかと」にすり替わっているわけです。とても不思議な現象。

思いっきり話が脱線しましたが元に戻すと、Hyper-Vは便利でホストのWindowsから見たら、仮想マシンって単にサイズの大きなファイルですから、これをコピーしておけばバックアップになるわけです。

このクラッシュして起動しなくなった仮想マシンもファイルでコピーしておいたので、そこから復旧することができました。でも中身は相当古いものになってしまいましたが・・・

ホームページツールのソースコードは、マイクロソフトのOneDrive上にあるので、このサーバがまるごと壊れても、最新の状態がネットにあるので安心なのですが、仮想マシンとかも、ちゃんとバックアップを日々取らないといけないなぁと思って、バックアップソフトを探しました。

そこで検索しているとトップに表示されたのが、EaseUS(イーザス)という中国四川省にある会社のソフトTodo Backup Freeです。



以前にも無料版で使ってみたことがあるのですが、いまいちだなぁと使わなくなったのは確か、その時はスケジュール機能があまり良くなかったか、有償の機能だったのか記憶が定かではないのですが、今回のバージョン12.0では、なんとスケジュール機能も無料の範囲に入っていました。

有料版との違いはバックアップ、リストアの速度が遅かったり、システム移行やEメールの通知、OutLookメールのバックアップがなかったりするだけです。ちゃんとスケジュールによる日々のバックアップも日々は増分だけ取って、週の初めにフルバックアップを取るようなことも無料版でできますから、早速、全部の仮想マシンにインストールしました。

無料版は速度が遅いか?と思いましたが、あまり遅いと思いませんし、こんなもんだろうと。試しにパナソニックのレッツノートのWindowsをバックアップして、Hyper-Vの仮想マシンにリストアできるかどうかを試したら、問題なくリストアできました。

かかった時間もバックアップとリストアに各、数時間かかりましたが、ネットワーク経由なので、こんなもんでは?と思いました。有料版だともっと速いのかもしれませんが。

ただ気をつけないといけないのは、一番、最初に表示される「システムバックアップ」ではWindows10Cドライブしか入らず、実際に起動するパーティションがバックアップされません。起動する部分までバックアップするには、「ディスク・パーティションバックアップ」でないといけないことです。でも最初に「システムバックアップ」が表示されるし、ネーミングがシステムだから、これでいいのだと思う人は多いのではないでしょうか・・・

Cドライブだけのシステムバックアップからは、どうやっても仮想マシンに起動する状態まで行けませんでした。でも同じOSにリストアする時は、Cドライブだけを上書きする指定ができたので、環境によるのかもしれません。

とにかく安心なのは「ディスク・パーティションバックアップ」しておけば、ブートするパーティションもバックアップされます。以前の32ビットのWindowsならCドライブだけで起動するのですが、64ビットになってから、隠れたブートパーティションが必要になったので、こうなっているのだと思います。

数日使ってみて、複数の仮想マシンからバックアップがされていることを確認して、無料版だけで結構使えるよなと思っていたら、メールでクーポンが送られてきました。

それを入力するとなんと、5000円だった有料版が、2000円以下になるとのことで、速攻で購入してしまいました()

実はOutLookのメールのバックアップは有料版だけの機能だったので、これはやっといた方がいいなと思っていたのです。このOutLookのバックアップをファイルでしようとしたら、OutLookが起動しているとだめなので、いちいち終了しないといけないのです。もしかしてそのままコピーしておけばいいのかもしれませんが、ちゃんとバックアップになっているのか不安・・・

でもOutLookのメールがもし無くなってしまったら過去の取り引きや、経費の証拠になる領収書やら、全部この中に入っているので、ちゃんとバックアップしたいなと思っていたところでした。

この有料版でOutLookのメールも起動したまま、バックアップできるようになったので、万が一のことがあっても大丈夫ですね。



バックアップに中国のソフトを使って情報漏洩とか安心なのか?という点には若干疑問はあるものの、そんなことを疑いだしたらソフトなんて使えないし、2,000円なら、全部の仮想マシンの分を有料版に切り替えてもいいなぁと思う今日この頃でした。

でも本当はここまでの機能があって2,000円くらいで、日本のソフトがあればいいのですが、これはさすがに無理なようです。


  • トラックバック (0)
  • 閲覧 (125)

ライセンスのない製品です・・・

カテゴリ : 
ブログ
執筆 : 
緒方貴志 2020/5/30 2:31
緒方です。一昨日のことですが、ホームページツールを起動しようとすると、途中で突然、Excelがいきなり落ちるというか、クラッシュするというか、何もエラーが表示されずにExcelがなくなってしまう現象に見舞われました。

え? まだ起動時の不具合があるのか?と思ったのですが、Excelだけを起動すると、タイトルバーのところに「ライセンスのない製品」と表示されていて、「え? ライセンス認証が外れた?」と思いました。

別のPC(と言ってもHyper-Vの仮想マシンですが)に入っているExcelでは、同じアカウントですが大丈夫です。ちゃんとホームページツールも起動します。

1台だけ「ライセンス認証が外れるってことがあるのか? 困ったなぁ」と思ったのですが夜も遅いことから、明日にしようと寝てしまいました。

そして、次の日にはなぜか治っていて、原因もわからずじまいでした。
マイクロソフト側のデータベースとの通信がうまくいかなかったのか?と思って、ネットワークを切って起動しても、問題なく、もう「ライセンスのない製品」は表示されなくなってしまいました。

もし、これが再発できたら、ホームページツールの起動時にチェックして、エラーを表示するとかできるか調べてみようと思ったのですが、表示されなくなってしまったので、Excelのマクロ(VBA)で検知できるかどうかわかりません。

ネットで調べても、この検知方法は書いてません(普通は必要ないでしょうから)。

以前のOfficeなら30日体験版があったので、これをインストールして期限が切れるように日付を変更すれば再現できたのですが、今のOffice365になってからは、1ヵ月間無料使用して、その後は有償利用ということになり、あらかじめマイクロソフトアカウントでサインインしてクレジットカードを登録しなければならず、これではそのまま有料使用になってしまう感じで、ライセンスが切れなさそうです。

1ヵ月で期限の切れる都合の良いクレジットカードでもあれば別ですが・・・

しかし、ライセンスのない製品でもいきなり落ちるのはやめてほしい・・・
てっきりホームページツールの致命的な不具合があるのか?と思ってしまった。
  • トラックバック (0)
  • 閲覧 (111)
緒方です。自分のホームページを作成したり、マニュアルを作ろうといろいろやっていて気づいたのですが、久しぶりに不具合らしい不具合を発見しました。

記事を編集しようとして呼び出したのに、呼び出されず.tmp という一時ファイル的なものが本文のところに表示されたのです。「あっ しまった」とすぐに原因に気づきました。

Wordって文書を編集している最中には、.tmp の拡張子の一時ファイルを作成しています。通常ならこの一時ファイルは終了時に消去されるので問題ないのですが、Wordってたまにクラッシュすることがありますよね。

このWordがクラッシュすると、当然、一時ファイルが残ってしまうわけで、ホームページツールが以前の記事を編集しようと、そのフォルダを見に行った時に、最新のファイルを探すロジックなので、当然一時ファイルが一番新しいファイルってことで、それを呼び出してしまったわけです。

対処は簡単で、ファイルの拡張子が.doc .docx で判断して限定すればいいわけで、すぐに修正してアップロードしておきました。

テストしていて、ちゃんと動いている時はこういう不具合はなかなか気づきませんから、使っているうちにクラッシュしたりするとやっと気づく不具合ってことですね。

  • トラックバック (0)
  • 閲覧 (100)