コレナニ?
普段はデータを収集してないので、ぶっこ抜いてみた。
最初の質問が 2011/10/24 23:42:55 。それから約四年半。
2016-6-7 10:00 頃の結果。
- 概略
- 質問数の推移
- 質問あたりの回答数の分布
- 質問数 TOP10
- 回答数 TOP10
- ベストアンサー数 TOP10
- そうそう、「コレナニ?」の件数を調べたのは……
- 番外
- 非公開になった質問への回答は @追記
VBA で ZIP 圧縮
myonlinebookmark
Excel/VBAでWindows標準のWinzipでファイルを圧縮する方法
質問させて下さい。
①Excelでファイルを別BOOKとして保存
②別BOOKとして保存を、同一フォルダ内にZipファイルとして圧縮。
③そのあと、別BOOKを削除
上記①と③はできましたが、2.の圧縮についてが、理解できずにおります。
ご存知の方がいましたら、ご教授いただければ幸いです。登録:2016/05/23 21:56:49
Excel/VBAでWindows標準のWinzipでファイルを圧縮する方法 質問… - 人力検索はてな
終了:2016/05/30 21:56:49
質問者:てとらん 質問日時:2015/08/03 22:12 回答数:3件
質問させて下さい。
Lhaplus などを使用(導入)することなく、Windows7の標準機能のみでExcelファイルをZipファイルに圧縮する事は可能なのでしょうか?
マクロの動作としては、
1.作業中のBOOKから必要なシートのみをコピーし別BOOKとして保存
2.別BOOKとして保存したファイルを、同一フォルダ内にZipファイルとして圧縮
3.別BOOKを削除上の1.と3.は出来たのですが、
2.の圧縮についてが、理解できずにおります。
自分なりに調べたところ、Lhaplus をShell関数などで指定し圧縮をする方法などは紹介されていたのですが、Windows7の標準機能のみZip圧縮を行う事は可能なのでしょうか?ご存知の方がいましたら、ご教授いただければ幸いです。
【Excel VBA】Windowsの標準機能のみでExcelファイルをZIPファイルに圧縮する方法 - Excel(エクセル) [解決済 - 2015/08/10] | 教えて!goo
Excel 2007 以降は、拡張子こそ違えど その実体は ZIP ファイルなので、それ以上 圧縮しにくい(圧縮する必要がほとんどない)という意味では必要ないと思うのだけれど。
そもそも、goo で解決済みじゃん (´・ω・`)
質問日時 | URL |
---|---|
【Excel】 マクロでコメントの挿入されているセルに入力されている値を別シートに抽出する方法 - その他MS Office [解決済 - 2015/02/15] | 教えて!goo | |
【Excel VBA】セルで列番号を指定して削除するマクロ - オフィス系ソフト [解決済 - 2015/05/27] | 教えて!goo | |
【Excel VBA】Windowsの標準機能のみでExcelファイルをZIPファイルに圧縮する方法 - Excel(エクセル) [解決済 - 2015/08/10] | 教えて!goo | |
フォルダ内に3つのExcelファイルのマージについて、 ①それぞれ… - 人力検索はてな | |
人力検索はてな (キャンセルされてる) | |
長文ですみません。取得対象Excelファイルからのマージ処理で出… - 人力検索はてな | |
列の入れ替えをしたいのですが、計算式がはいっているセルの列を… - 人力検索はてな | |
Excel/VBAで検索先ファイルでデータ項目の値に一致したセル値を… - 人力検索はてな | |
Excel/VBAでWindows標準のWinzipでファイルを圧縮する方法 質問… - 人力検索はてな | |
カレント日付より前2営業日の算出方法について Excelでカレント… - 人力検索はてな | |
Excel/VBAで条件付き書式を作ってますが、 E3セルの値が”男性… - 人力検索はてな |
中身の話。
Chr() 関数でヘッダを作り込んだ空の ZIP にファイルを放り込むのか。
いろんなことを考える人がいるものだ。
ヘッダの作り方や、待ち合わせ方が微妙に違うだけで戦略としては同じ人達。
今どきなら、PowerShell でやっちゃえば良いじゃない、という感じもする。
- Compress-Archive @technet.microsoft.com
- Working with Compressed Files in PowerShell 5 | Hey, Scripting Guy! Blog
- How to create a zip archive with PowerShell? - Stack Overflow
…… 古い PowerShell でもいける - powershellのcompress-archiveコマンドで作成したzipに潜むちょっとした罠 - Qiita
…… ディレクトリに実行権限がつかないケースがあるとか
;-)
Template Strings
見た目を作ったりいじったりするような Bookmarklet なんかでは、HTML の要素やスタイルを文字列でたくさん書かなきゃいけないこともママあり。
でも、javascript にはヒアドキュメントがないので、こんな書き方でお茶を濁してた。
/* #qa_chemistry { position: absolute; top: 0; right: 0; background-color: palegreen; z-index: 9999; padding: 5px; } #qa_chemistry table.info tr td { line-height: 1em; } */ var css_rule = '\ #qa_chemistry {\ position: absolute;\ top: 0;\ right: 0;\ background-color: palegreen;\ z-index: 9999;\ padding: 5px;\ }\ #qa_chemistry table.info tr td {\ line-height: 1em;\ }\ ';
実体はコメントで書いておいて、コードの方にはコピペして行末の改行を \ でエスケープする。
改行のエスケープは、範囲選択して :s/$/\\/ するだけなのでたいした手間ではないとはいえ、やっぱり面倒でコードの方を修正してしまってコメントに書いた方の本体と合わなくなってたり。
「テンプレート文字列」を教えてくれたのはここ。
expand title on drive.google.com for UserScript · GitHub
# ここでもお世話になってます >id:noromanba さん
「あれ? 改行のエスケープって要らなかったかな……」
とか思って試してみると、やっぱりエラー。
……
よくよく見てみると、括ってるのはバッククォートじゃない。
こう書けるようになったのだね。
var css_rule = ` #qa_chemistry { position: absolute; top: 0; right: 0; background-color: palegreen; z-index: 9999; padding: 5px; } #qa_chemistry table.info tr td { line-height: 1em; } `;
ドキュメントを確認。
ありゃ、リテラル扱いではない?
In ES2015, template literals are also available. Template strings provide syntactic sugar for constructing strings. This is similar to string interpolation features in Perl, Python and more. Optionally, a tag can be added to allow the string construction to be customized, avoiding injection attacks or constructing higher level data structures from string contents.
Grammar and types - JavaScript | MDN
日本語訳の方が追いついてないだけか。
JavaScript に "ヒアドキュメント" 構文はありませんが、各行の末尾に改行のエスケープ表記とエスケープした改行を置くことで似たことができます :
文法とデータ型 - JavaScript | MDN
もう、ここも変えた方が良いんじゃないかなあ。
Although JavaScript does not have "heredoc" syntax, you can get close by adding a linebreak escape and an escaped linebreak at the end of each line:
Grammar and types - JavaScript | MDN
と思ったら、英語のドキュメントの方にも。
まだ、正式に ECMAScript 6 の仕様になってないから、ということかな。
タグ関数とか、なんか気持ち悪いのもある。
- Template literal - JavaScript | MDN - タグ付けされたTemplate string
- String.raw() - JavaScript | MDN
なんか、使い道 あるんだろうか……
var s = "http://q.hatena.ne.jp/"; var re; re = /https?:\/\/\S+(\.\S+)*\//; console.log(re.test(s)); // true // スラッシュ入るとウザい re = new RegExp("https?://\S+(\.\S+)*/"); console.log(re.test(s)); // false // バックスラッシュをエスケープする必要あり re = new RegExp("https?://\\S+(\\.\\S+)*/"); console.log(re.test(s)); // true // ふたつ並んだバックスラッシュ ウザい re = new RegExp(`https?://\S+(\.\S+)*/`); console.log(re.test(s)); // false // やっぱり、バックスラッシュをエスケープしなくちゃならない re = new RegExp(String.raw`https?://\S+(\.\S+)*/`); console.log(re.test(s)); // true // 素直に正規表現が書ける
とかかな。
タグ関数はどうかなあ……
内挿された値だけに何か処理を施すとか、そういうのかな。
ドリトル先生
All of a sudden the Doctor looked up sharply at me, a wonderful smile of delighted understanding spreading over his face.という文がありました。
http://q.hatena.ne.jp/1461615559
前半の部分は理解できるのですが、後半のa wonderful smile of delighted understanding spreading over his faceはどのような構造になっているのでしょうか?
訊かれているのは、ドリトル先生航海記の一節(P242 の末尾)。
- 2016-04-26 03:27:18 ― ell.stackexchange.com
- 2016-04-26 03:29:58 ― www.italki.com
- 2016/04/26 04:33:00 ― 教えて!goo
- 2016/04/26 05:10:37 ― 知恵袋
- 2016/04/26 05:19:19 ― 人力検索はてな
なんでまた、英語圏で尋ねてから日本に流れてくるかね。
「文章の一部だけを取り出しているだろう」的な回答やコメントにうんざりする気持ちも分からないではないが、ドリトル先生の一節だと書けば良いだけの話だと思うんだけれど。
文章の構造を訊いている質問というか、そういうことを訊くサイトで、回答者に原典を探すことを期待するのは無理筋な注文だろうし。
# レイトン教授のこともあったし、原典を見たら、その一文だけでは分からない何かがあるかもと期待して、空振りしたのは内緒だ
最初に投稿したと思われるサイトは、TIME タグではなく、SPAN タグの title 属性に時刻が埋め込まれている。
<div class="user-action-time"> asked <span title="2016-04-25 18:27:18Z" class="relativetime">18 hours ago</span> </div>http://ell.stackexchange.com/questions/88364/doesnt-this-clause-need-a-verb
3分も経たないうちに投稿した次のサイトは、ページのソースには質問や回答内容は含まれず、非同期でコンテンツを取得している。
{ "performance": "65.30 ms", ... "data": { ... "create_time": "2016-04-25T18:29:58+0000", ... } }https://www.italki.com/api/question/353967?_r=1461632509755&hl=en-us
どちらも、GMT で記載されているはず。
そういえば、OKWave には質問してないのな。
袂を分かったのを知らないのかな。
HTMLでパスワード制限
やりたかったのは、自分のブログに置いたログインフォームに、それっぽい動きをさせたい、かな。
HTMLでパスワード制限を掛けたいです。ネットで検索してもちゃんとした物はないので質問しました。CGIやMD5などの暗号化や一般では使わないコード内にパスワードを入れる方法でありますか?
http://q.hatena.ne.jp/1460252561
追記→basic認証などの特殊なとでなありません。
だから、BASIC 認証はダメだと。
「ちゃんとした物」だったら、普通に考えて生のパスワードをソースに書くのはダメだろうから、となると暗号化しか方法は残ってないよなあ。
- 記事中の一部をパスワードでロックする
- ログインフォームっぽいやつ
- 不親切な説明
- 記事中の一部をパスワードでロックする
- ログインフォームっぽいやつ
- 因みにパスワードは、
- なんにせよ、暗号化しなきゃならんのだ
- CryptoJS
- キー
- リンク集
- 暗号化以外の方法
- 最後に
記事中の一部をパスワードでロックする
ログインフォームっぽいやつ
- ユーザID
- パスワード
h.hatena.com は生きていた
とっくに引導を渡されたと思っていた h.hatena.com 。実は、まだ生きていた。
http://h.hatena.com/api/statuses/public_timeline.json?count=30
投稿などの URL だと 301 でトップの「終了しました」に飛ばされちゃうけど、
はてなハイクタイムラインAPI をドメインを .hatena.com で使うと、サーバが生きてるだけじゃなくて、投稿もされていることが分かる。
iPhone の非公式アプリ HaikuNeko や、Google Chrome の「どこでもはてなスター」拡張から投稿できているみたい。
☆だけではなく、メモを書き残すこともできる (メモははてなハイクに投稿される)。
どこでもはてなスター (Chrome)とは - はてなキーワード
GitHub にある、「どこでもはてなスター」拡張のソース。
https://github.com/wakaba/chrome-hatena-star-everywhere/blob/master/entry-script.js#L446
function postHaikuEntry (args, nextCode) { var self = this; bg.getRKM (function (rkm) { var xhr = new XMLHttpRequest (); var postURL = 'http://' + bg.config.getDomain ('h') + '/api/statuses/update.json'; xhr.open ('POST', postURL, true);
記事を POST する URL は、bg.config.getDomain() を介して決められている。
getDomain メソッドは、Google Chrome のロケールを見て、h.hatena.ne.jp か h.hatena.com を切り替えている。
https://github.com/wakaba/chrome-hatena-star-everywhere/blob/master/user-config.js#L25
getDomain: function (subdomain) { if (this.get ('tld') == 'jp') { return subdomain + '.hatena.ne.jp'; } else { return subdomain + '.hatena.com'; } }, // getDomain
https://github.com/wakaba/chrome-hatena-star-everywhere/blob/master/user-config.js#L5
UserConfig.prototype = { defaultValues: { allowedURLs: '^https://[^/]+\\.hatena\\.(?:ne\\.jp|com)/', disallowedURLs: '^https://\n^http://[^/.]+/', tld: /^ja(?:_|$)/.test (chrome.i18n.getMessage ('@@ui_locale')) ? 'jp' : 'com', iconType: 'default', nameType: 'nickname', useIconStar: false, }, // defaultValues
投稿してみるべ。
(function() { var xhr = new XMLHttpRequest(); var postURL = 'http://h.hatena.com/api/statuses/update.json'; xhr.open ('POST', postURL, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status < 400) { alert('OK'); console.log(JSON.parse(xhr.responseText)); } } }; xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); var data = 'keyword=' + encodeURIComponent('はてなハイク') + '&status=' + encodeURIComponent('h.hatena.com は、まだ生きている!?') + '&source=' + encodeURIComponent('a-kuma3 test') + '&rkm=' + encodeURIComponent(...); // rkm は、h.hatena.ne.jp のページから引っこ抜く xhr.send(data); })();
クロスオリジンの制約があるので、h.hatena.com のページで Bookmarklet として実行。
ログイン状態を表している rkm は、h.hatena.ne.jp のページから引っこ抜いて書いておく。
BASIC 認証があるので、ユーザID と API キーをパスワードとして入力。
はてなハイクAPI で確認。
http://h.hatena.com/api/statuses/public_timeline.json?count=30
h.hatena.ne.jp で投稿を確認。
http://h.hatena.ne.jp/a-kuma3/81808088407040107
でも、h.hatena.com への投稿だから、h.hatena.ne.jp のキーワードページには表示されないの。
http://h.hatena.ne.jp/target?word=%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%8F%E3%82%A4%E3%82%AF
WSH (VBScript) で XMLHTTPRequest
この質問の回答での余禄。
url = ... Set xhr = CreateObject("MSXML2.ServerXMLHTTP") xhr.Open "GET", url, False xhr.Send If xhr.Status < 400 Then WScript.Echo xhr.responseText End If
同期モードになるのは VBScript なので、しゃあない。
プロクシを使うときはこう。
xhr.Open "GET", url, False xhr.setProxy 2, "proxy.foo.com:8080", "" xhr.Send
認証ありのプロクシだと、こんな感じ。
xhr.Open "GET", url, False xhr.setProxy 2, "proxy.foo.com:8080", "" xhr.setProxyCredentials "a-kuma3" , "a-kuma3-password" xhr.Send
例によって、ネタは stackoverflow 。
http://stackoverflow.com/questions/19008874/xmlhttp-request-ajax-with-vbskript-does-not-work-with-proxy-connection
MSXML 6.0 以降、って地雷も、今なら踏む人は少ないか。
MSDN 。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa384059%28v=vs.85%29.aspx
三番目の引数は、プロクシの除外対象。